2015-06-24 14 views
26

Tôi đang sử dụng Maven 3.1.1 phía sau máy chủ proxy. Proxy giống nhau xử lý cả lưu lượng truy cập HTTPHTTPS.Cách định cấu hình máy chủ proxy cho cả HTTP và HTTPS trong tệp settings.xml của Maven?

Tôi dường như không thể nói maven bằng cách sử dụng settings.xml để sử dụng cả hai giao thức. Dường như với tôi rằng nó chỉ có thể có một proxy hoạt động, như bất kỳ proxy hoạt động nào được định nghĩa đầu tiên được sử dụng, và các định nghĩa proxy 'hoạt động' tiếp theo bị bỏ qua. Đây là settings.xml tôi:

<proxies> 
    <proxy> 
     <id>myhttpproxy</id> 
     <active>true</active> 
     <protocol>http</protocol> 
     <host>192.168.1.2</host> 
     <port>3128</port> 
     <nonProxyHosts>localhost</nonProxyHosts> 
    </proxy> 
    <proxy> 
     <id>myhttpsproxy</id> 
     <active>true</active> 
     <protocol>https</protocol> 
     <host>192.168.1.2</host> 
     <port>3128</port> 
     <nonProxyHosts>localhost</nonProxyHosts> 
    </proxy> 
</proxies> 

Có thể cấu hình một proxy cho cả HTTPHTTPS trong maven của settings.xml? Tôi biết rằng tôi có thể workaround này bằng cách thông qua thuộc tính hệ thống Java để invocation maven như:

-Dhttps.proxyHost=192.168.1.2 -Dhttps.proxyPort=3128 

nhưng chắc chắn đây phải là có thể từ bên trong settings.xml?

Lỗi maven được nêu lên như MNG-2305MNG-4394 đề xuất vấn đề này được giải quyết, nhưng tôi không bị thuyết phục.

Ngoài ra, có một "proxy proxy" tôi có thể chạy cục bộ mà tôi có thể trỏ đến không? "Proxy proxy" sẽ định tuyến http/https tương ứng. Mặc dù vậy, tôi vẫn sẽ cần xác định hai định nghĩa proxy hoạt động trong settings.xml để Maven chỉ đạo cả hai loại lưu lượng truy cập.

Trả lời

-2

Tôi không chắc lắm, nhưng theo tài liệu ở đây MNG-4394, họ hỗ trợ ký tự đại diện. Vì vậy, bạn có thể thử

http|https

hoặc

<protocol>*</protocol> 

và nó có thể làm việc.

+0

bạn đề cập đến tham chiếu đến tài liệu - bạn có URL cho điều này không, không chắc bạn đang nói đến điều gì? Cảm ơn –

+0

đã chỉnh sửa. Một yêu cầu vá lỗi của nó, không phải là rất chắc chắn nếu nó bao gồm trong các phiên bản mới nhất. –

+0

[MNG-4394] (https://issues.apache.org/jira/browse/MNG-4394) chỉ bị đóng vì nó là bản sao của [MNG-2305] (https://issues.apache.org)/jira/browse/MNG-2305). Như những người dùng khác trên trang JIRA của 2305 đề xuất, có vẻ như vấn đề này đã được sửa ... –

21

Maven proxy từ settings.xml được sử dụng cho cả http và https, vì vậy bạn chỉ cần xác định một máy chủ proxy và nó sẽ được sử dụng cho cả hai, bạn chỉ cần để lại chỉ một proxy thẻ, như thế này:

<proxies> 
    <proxy> 
     <id>myhttpproxy</id> 
     <active>true</active> 
     <protocol>http</protocol> 
     <host>192.168.1.2</host> 
     <port>3128</port> 
     <nonProxyHosts>localhost</nonProxyHosts> 
    </proxy> 
</proxies> 

Giao thức ở trên là giao thức của máy chủ proxy chứ không phải yêu cầu được ủy quyền.

+1

Thông tin rất hữu ích, một sự xấu hổ bạn không được ghi thêm cho nó. 1, làm việc cho tôi. –

+1

@krzyk [tài liệu cài đặt của maven] (https://maven.apache.org/settings.html#Proxies) dường như đồng ý với bạn: _protocol, host, port: Giao thức: // host: cổng proxy , tách thành các phần tử rời rạc._ Tôi sẽ cố gắng kiểm tra lại điều này - đã đến lúc này ...! –

+3

Tôi biết điều này có vẻ như giao thức đề cập đến giao thức của proxy, nhưng đối với tôi, nó không hoạt động với chỉ một proxy. Khi tôi đã thêm hai proxy, như OP gợi ý, sau đó cho tôi nó làm việc (với Maven 3.3.9). Lúc đầu, nó không hoạt động vì tôi sao chép/dán máy chủ proxy trong tệp settings.xml và tôi quên đặt một id khác cho máy chủ proxy thứ hai. Sau khi tôi đặt một id khác, nó hoạt động. –

0

Tôi giải quyết được vấn đề với việc cập nhật phiên bản maven, hoặc nói cách khác là không sử dụng phiên bản maven nhật thực nhúng, nhưng phiên bản bên ngoài 3.3.9.

0

hoạt động mà không các phụ ...<id>httpsproxy</id>... nhập (như @Krzysztof Krasoń đề cập) và cùng với nó (tùy theo từng hỏi đã nêu). Vấn đề đối với chúng tôi là, Eclipse->Maven->User Settings->[x] Update Settings rõ ràng là không hoạt động và kiểm tra những điều nhất định Eclipse->Maven->[x] Download repository index updates on startup phải được kiểm tra (ví dụ: Maven Repositories View->Global Repositories->central->Update Index). Và hầu hết tất cả:

Eclipse phải được khởi động lại sau mỗi lần cập nhật settings.xml! : -/

Tôi đoán đó là lỗi hoặc tải lại/lưu vào bộ nhớ cache. Chúng tôi thành công thử nghiệm nó với

  • Kepler (4.3) và Neon (4.6)
  • và các phiên bản của họ nhúng Maven (3.2.1/3.3.9) cũng như một bên ngoài 3.3.3
  • với http://https:// URL
Các vấn đề liên quan