2010-03-03 19 views
6

Tôi đang làm một số doanh dịch vụ web làm việc trên Java 5 trên mac (10.6.2) ....Java xử lý sử dụng máy chủ proxy, hosing lên tất cả mọi thứ

Kể từ IT làm cho chúng tôi bắt đầu sử dụng một máy chủ proxy, cuộc sống đã nhận được rất nhiều khó khăn hơn. Java dường như đang kéo cài đặt máy chủ proxy hệ thống, nhưng không xuất hiện trong danh sách loại trừ. Điều này có nghĩa là khi tôi cố gắng gọi một dịch vụ web cho "localhost", java sẽ cố gắng thay thế máy chủ proxy của anh ấy và cuộc gọi của tôi sẽ phát sinh. Tương tự cho tên máy chủ hoặc IP của tôi.

Vì vậy, để làm việc trong văn phòng, tôi phải chuyển đến Cài đặt hệ thống và xóa cấu hình proxy. Sau đó, nó là tất cả tốt, ngoại trừ tôi không thể nhấn internet. Không có vấn đề gì tôi làm trong cài đặt hệ thống của tôi với danh sách loại trừ, nó không có hiệu lực trên Java.

Tôi đã thử -Djava.net.useSystemProxies = false và dường như không làm gì cả.

cảm ơn sự giúp đỡ nào!

+0

java.net.useSystemProxies là false theo mặc định (theo như tôi biết). Bạn có đặt nó thành sự thật không? – Yishai

Trả lời

2

Tham chiếu chính xác cho cấu hình proxy mạng trong Java 5 là trang Java Networking and Proxies này. Từ trang này, có vẻ như Java 5 không quan tâm đến các thiết lập hệ thống từ môi trường máy chủ. Nhưng ngay cả khi nó là nghĩa vụ phải chú ý đến họ, thực tế rằng điều này là (rõ ràng) không làm việc cho bạn có nghĩa là bạn không nên dựa vào điều này ... ít nhất là cho bây giờ.

Để cấu hình một cách rõ ràng một JVM Java 5 để sử dụng một proxy mặc định cho HTTP bạn cần phải thiết lập các thuộc tính hệ thống Java:

  • http.proxyHost - DNS hoặc địa chỉ IP của proxy
  • http.proxyPort - số cổng cho proxy
  • http.nonProxyHosts - danh sách máy chủ hoặc tên miền để kết nối trực tiếp, được phân tách bằng ký tự "đường ống" |.

Nếu bạn đang sử dụng HTTPS, bạn cũng cần phải định cấu hình https.proxyHosthttps.proxyPort.

Và, tôi nghĩ bạn phải đặt http.proxyHost cho http.nonProxyHosts để có hiệu lực. Việc tự cài đặt sau có thể không có hiệu lực.

Chi tiết khác có trong trang được liên kết ở trên. Tôi muốn đề xuất sử dụng tùy chọn "-D" trong tập lệnh mà bạn sử dụng để khởi chạy ứng dụng. Có lẽ bạn có thể làm cho kịch bản này kéo các tham số proxy từ các thiết lập hệ thống. Lưu ý rằng trong Java 6 trở lên, các thay đổi hỗ trợ proxy mạng (lại) và Java 6 JVM sẽ nhận và sử dụng cài đặt hệ thống từ môi trường máy chủ trong một số trường hợp nhất định.

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