Cách chỉ định rằng Yum không nên sử dụng proxy cho tên miền cụ thể


12

Có thể chỉ định tên miền mà yum nên bỏ qua cấu hình proxy? Tôi sợ điều này là không thể ...

Tôi đọc rằng có thể sử dụng biến môi trường HTTP_PROXYsau đó NO_PROXY, nó có phải là giải pháp tao nhã nhất không?

[BIÊN TẬP]

Tôi đã thử giải pháp với các biến môi trường:

export HTTP_PROXY=http://user:pass@host:port
export http_proxy=http://user:pass@host:port
export no_proxy=.domain
export NO_PROXY=.domain

Yum sử dụng proxy nhưng repos * .domain không được bỏ qua.

[LÀM VIỆC]

Sử dụng http://cntlm.sourceforge.net/ Tôi có thể định cấu hình tên miền nào sẽ bị bỏ qua. Nhưng wotks này chỉ với proxy yêu cầu xác thực NTLM ...

Câu trả lời:


26

Tôi đã không thể làm cho nó hoạt động bằng cách sử dụng các biến môi trường như bạn mô tả ở đây. Tuy nhiên, Yum hỗ trợ proxy, và bạn sẽ có thể làm một cái gì đó như thế này:

proxy=http://proxy:port

Vào yum.confrồi thêm

proxy=_none_

Trong các định nghĩa repo bạn không muốn truy cập thông qua proxy toàn cầu. Đây là chi tiết (mặc dù cô đọng) trong trang người đàn ông yum.conf.


Thành công, cuối cùng. Cảm ơn! Tôi không muốn đi qua tất cả các máy chủ một lần nữa, nơi tôi đã làm điều đó. Nhưng cũng có thể thêm proxy trực tiếp vào các tệp repo này khi cần (ví dụ: tất cả các repos với máy chủ gói bên ngoài, ngược lại với các tệp repo sử dụng trình quản lý gói nội bộ không cần proxy)
erikbwork

1
proxy=_none_Rực rỡ, cảm ơn. Đó là một tải tàu nước sốt tuyệt vời. Tôi sẽ bầu bạn hai lần nếu tôi có thể :)
Scottie H

@erikbwork Tôi vừa thêm một proxy=http://proxy:porttập tin .repo của tôi và nó đã hoạt động. đó có phải là điều mà bạn đang hỏi?
Scottie H

4

Nếu tôi hiểu chính xác câu hỏi này thì hành vi mong muốn là

gói.centos.com được kéo thông qua một proxy.

gói.iternal.lan đi trực tiếp mà không cần thông qua proxy.

Tôi vừa mới đến đây đã tự mình tìm cách làm điều này và sử dụng thông tin trên để đạt được điều tôi muốn, tuy nhiên tôi không chắc câu trả lời ở trên đã hoàn thành chưa.

Để làm điều này tôi đã sử dụng như sau.

export HTTP_PROXY=http://myproxy.internal.lan:port

export no_proxy=internal.lan

yum install package1 package2

gói1 được lấy từ internet thông qua proxy,

gói2 đã được kéo từ gương địa phương của tôi không đi qua proxy.


3

Giải pháp của tôi liên quan đến việc thiết lập Privoxy, một proxy http nhẹ.

yum cài đặt privateoxy

Thêm hai mệnh đề chuyển tiếp trong / etc / privateoxy / config:

 forward / myproxy.internal.lan:3128
 forward .internal.lan .

Và cũng vô hiệu hóa các hành động mặc định của privateoxy (đảm bảo không có tiêu đề nào bị hỏng): (@line 175 trong cấu hình riêng tư của RHEL5)

#actionsfile standard  # Internal purpose, recommended
#actionsfile default   # Main actions file
#actionsfile user      # User customizations

Sau đó, thiết lập biến môi trường http_proxy và ftp_proxy thành cổng của ownoxy:

khai báo -x http_proxy = http://127.0.0.1:8118

khai báo -x ftp_proxy = http://127.0.0.1:8118

yum cài đặt gói1 gói2

Lưu ý: nếu bạn có các dòng proxy trong yum.conf, hãy xóa nó, nó sẽ ghi đè biến môi trường.


Tôi đang tìm cách để chủ nhà trong danh sách trắng từ privateoxy và tôi đã có câu trả lời của mình ở đây :)
ahmadali shafiee

2

Bạn chỉ có thể chỉ định nó trong tập tin repo. Ví dụ:

[hduser@n0 cloudera-manager-installer]$ cat /etc/yum.repos.d/cloudera-cdh4.repo  
[cloudera-cdh4]  
name=Cloudera's Distribution for Hadoop, Version 4  
baseurl=http://"yourhost"/cdh4/  
gpgcheck = 0
enabled=1
proxy=_none_

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.