2013-07-15 33 views
11

Tôi gặp sự cố với ổ cắm web và proxy ngược Apache, tôi đã nâng cấp phiên bản mới nhất 2.4.5 và tải mô-đun mod_proxy_wstunnel.Proxy ngược với websocket mod_proxy_wstunnel

Các httpd.conf:

<VirtualHost *:80> 
ServerAdmin [email protected] 
ServerName www.toto.fr 
ServerAlias toto.fr 


ProxyPass /my_app http://1X.X.X.1:8080/my_app 
ProxyPassReverse /web_pmr http://1X.X.X.1:8080/my_app 
ProxyPassReverseCookiePath /my_app/
ProxyPassReverseCookieDomain localhost my_app 
ProxyRequests off 
ProxyTimeout 15 

#WEBSOCKETS 


ProxyPass /my_app/BasicWebsocketServlet ws://1X.X.X.1:8080/my_app/BasicWebsocketServlet retry=0 
ProxyPassReverse /my_app/BasicWebsocketServlet ws://1X.X.X.1:8080/web_pmr/BasicWebsocketServlet retry=0 


ErrorLog "logs/my_app_error.log" 
LogLevel debug 
CustomLog "logs/my_app_access.log" combined 
<Proxy *> 
     Order deny,allow 
     Allow from all 
</Proxy> 
</VirtualHost> 

Khi tôi kiểm tra trong URL địa phương của tôi, WebSockets đang làm việc nhưng với sự ngược Proxy Apache, không có dấu vết trong nhật ký Tomcat.

+0

Bạn có ý nghĩa gì bởi "không có dấu vết"? Các yêu cầu được chuyển tiếp đến Tomcat? – jimjag

Trả lời

21

dòng này:

ProxyPass /my_app/BasicWebsocketServlet ws://1X.X.X.1:8080/my_app/BasicWebsocketServlet retry=0 

nhu cầu đến trước này:

ProxyPass /my_app http://1X.X.X.1:8080/my_app 

Giải thích (từ https://httpd.apache.org/docs/2.4/mod/mod_proxy.html#proxypass):

đặt hàng ProxyPass Chỉ

Các cấu hình ProxyPass và Pro Các quy tắc xyPassMatch được kiểm tra theo thứ tự cấu hình. Quy tắc đầu tiên phù hợp với chiến thắng. Vì vậy, thông thường bạn nên sắp xếp các quy tắc ProxyPass xung đột bắt đầu bằng các URL dài nhất trước tiên. Nếu không, các quy tắc sau này cho các URL dài hơn sẽ bị ẩn theo bất kỳ quy tắc nào trước đó sử dụng chuỗi con hàng đầu của URL. Lưu ý rằng có một số mối quan hệ với chia sẻ công nhân. Ngược lại, chỉ có một chỉ thị ProxyPass có thể được đặt trong một khối Vị trí và vị trí cụ thể nhất sẽ được ưu tiên.

Vì lý do tương tự, các loại trừ phải đến trước chỉ thị chung của ProxyPass.

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