Tôi có Apache Tomcat chạy với SSL được kích hoạt. Tôi có Máy chủ HTTP Apache hoạt động như một proxy ngược vì vậy nếu người dùng của tôi nhấn http: // myserver / tomcat / thì chúng được chuyển đến http: // myserver: 8080 .
ProxyPass /tomcat/ http://myserver:8080/
ProxyPassReverse /tomcat/ http://myserver:8080/
Tôi cũng có máy chủ HTTP HTTP được định cấu hình cho SSL vì vậy khi người dùng nhấn https: // myserver / tomcat / chúng sẽ được chuyển sang https: // myserver: 8443 / .
Với cấu hình ProxyPass & ProxyPassReverse hiện tại, chúng sẽ được chuyển hướng đến URL không ssl. Làm cách nào tôi có thể thiết lập pass proxy để nó chuyển hướng đến giao thức và cổng khác nhau dựa trên yêu cầu đến?
Đó là, nếu ai đó đến qua HTTPS, làm cách nào tôi có thể chuyển hướng họ đến tomcat của mình @ https: // myserver: 8443 ?
Cập nhật:
@ mike-ins
Tôi đã thử:
NameVirtualHost *:443
<VirtualHost *:80>
ProxyPass /tomcat/ http://myserver:8080/
ProxyPassReverse /tomcat/ http://myserver:8080/
</VirtualHost>
<VirtualHost *:443>
ProxyPass /tomcat/ https://myserver:8443/
ProxyPassReverse /tomcat/ https://myserver:8443/
</VirtualHost>
Bây giờ khi tôi truy cập: https: // myserver / tomcat / Tôi nhận được "không tìm thấy trang". Trong nhật ký lỗi tôi thấy "Tệp không tồn tại: / var / apache2 / htdocs / tomcat"
Điều này là chính xác, nhưng tôi dự kiến yêu cầu sẽ được chuyển đến tomcat chạy tại https: // myserver: 8443 / .
Đoán tôi cần phải nhìn nhiều hơn vào các máy chủ ảo, trừ khi có gì đó không ổn.
NameVirtualHost
chỉ thị ở đây. Ngoài ra, bạn sẽ cần thêm các chỉ thị thích hợp để bật SSL trong<VirtualHost *:443>
phần của mình .