2009-10-15 40 views
5

Tôi đang cố thiết lập apache (phiên bản 2.2.3) của mình để hoạt động như proxy ngược. Tôi cấu hình apache trên máy chủ công cộng vì nó được mô tả tại http://www.askapache.com/htaccess/reverse-proxy-apache.htmlApache 2.2 proxy ngược không hoạt động

LoadModule proxy_module  modules/mod_proxy.so 
LoadModule proxy_http_module modules/mod_proxy_http.so 
LoadModule headers_module modules/mod_headers.so 
LoadFile /usr/lib/libxml2.so 
LoadModule proxy_html_module modules/mod_proxy_html.so 

ProxyRequests off 
ProxyPass /app1/ http://internal1.example.com/page1/ 
ProxyPassReverse /app1/ http://internal1.example.com/page1/ 
ProxyHTMLURLMap http://internal1.example.com/page1/ /app1/ 

 

internal1 là máy chủ khác trong mạng nội bộ.

Trang chủ (www.example.com/app1/) được hiển thị chính xác nhưng sự cố xảy ra khi máy chủ nội bộ của tôi chuyển hướng. Trong trường hợp này trình duyệt của tôi (Firefox 3.5.3 hoặc Internet Explorer 7) tìm kiếm địa chỉ trong mạng cục bộ (internal1.example.com/page1/). Có vẻ như với tôi rằng chỉ thị ProxyPassReverse bị bỏ qua bởi apache.

+0

điều gì xảy ra khi bạn thả biểu mẫu "page1 /" của ProxyPassReverse? (ProxyPassReverse/app1/http &58; //internal1.example.com/) –

+0

Cảm ơn câu trả lời của bạn Lance, nhưng nó không giúp được gì. Trình duyệt của tôi vẫn cố tìm kiếm địa chỉ trong mạng cục bộ. –

Trả lời

4

Ngay trước ProxyPass thêm tham số này ProxyPreserveHost On

này sẽ bảo vệ chủ. (http://httpd.apache.org/docs/2.2/mod/mod_proxy.html#proxypreservehost)

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