2015-06-14 19 views
5

Tôi làm việc trên hệ thống Linux trong môi trường Windows. Để xác thực với máy chủ proxy NT, tôi đã thiết lập cntlm và các chương trình hệ thống đã định cấu hình để sử dụng nó bằng cách đặt biến môi trường http_proxy trong tệp /etc/environment.git từ chối kết nối không có proxy

Bây giờ tôi muốn xóa cài đặt proxy này và kết nối trực tiếp với các chương trình.

Vì vậy, tôi bỏ đặt biến môi trường hệ thống:

unset http_proxy 
unset HTTP_PROXY 

Kiểm tra ~/.gitconfig để đảm bảo rằng không có mục proxy.

Rõ ràng hướng dẫn git không sử dụng bất kỳ proxy:

git config --global --unset http.proxy 
git config --global --unset https.proxy 

Xác minh rằng không có proxy được cấu hình:

git config --system --get https.proxy 
git config --global --get https.proxy 
git config --system --get http.proxy 
git config --global --get http.proxy 

Và sau đó đẩy đến một repo từ xa:

git push 

Nhưng git vẫn cố gắng kết nối qua proxy:

gây tử vong: không thể truy cập 'https://[email protected]/xxx.git/': Không để kết nối với cổng 127.0.0.1 3128: Kết nối từ chối

Tại sao nó sẽ không buông tay khỏi cntlm?

+0

bạn có kiểm tra xem có bất kỳ bộ proxy nào không? 'env | grep -i proxy' – VonC

+0

@VocC Cảm ơn VonC. Tôi nghĩ rằng tôi đã gỡ bỏ proxy bằng cách 'unset http_proxy'. Nhưng có một biến môi trường khác nhau cho HTTPS cần được đặt riêng biệt. Chạy 'env | grep -i proxy' đã tiết lộ điều đó. –

+0

@VonC Tôi đã gỡ cài đặt cntlm khỏi hệ thống bằng cách sử dụng 'apt-get remove cntlm'. Bạn có biết làm thế nào tôi có thể gỡ lỗi tại sao (và từ đâu) biến đang được thiết lập bây giờ? –

Trả lời

9

Vui lòng cung đơn giản nhất để làm là:

env|grep -i proxy 

Các OP khẳng định:

tôi nghĩ rằng tôi đã loại bỏ proxy bởi unset http_proxy.
Nhưng có một biến môi trường khác nhau cho HTTPS cần được đặt riêng biệt. Chạy env|grep -i proxy tiết lộ rằng.

Các vấn đề liên quan