我有两台服务器,它们都运行着 Web 应用程序,位于同一个防火墙后面。因此,只有一台服务器可以对 80 和 443 端口进行网络地址转换。在第二个没有对端口进行网络地址转换的服务器上,我安装了 rocket.chat。目前,使用 SSL 保护它的唯一方法是通过反向代理。由于我也不想在内部网络中不安全地发送数据,因此我尝试使用两个反向代理。一个从 Web 服务器 1 到 Web 服务器 2,另一个从 Web 服务器 2 到 rocket.chat 本身。Web 服务器 1 上运行 apache 2.4,Web 服务器 2 上运行 nginx 1.6。重定向似乎都有效,但我没有显示网页。如果我通过 443 直接联系 Web 服务器 2,则会显示网页。
是否可以使用两个反向代理?如果不行,是否还有其他方法可以加密内部流量?
我的Apache配置:
<VirtualHost *:443>
ServerName rocket-chat.blablabla.bla
SSLProxyEngine On
SSLProxyVerify none
SSLProxyCheckPeerCN off
SSLProxyCheckPeerName off
SSLProxyCheckPeerExpire off
ProxyPass / https://192.168.0.8
ProxyPassReverse / https://192.168.0.8
SSLEngine on
SSLCertificateFile /etc/ssl/certs/xyz.crt
SSLCertificateKeyFile /etc/ssl/private/xyz.key
</VirtualHost>
我的 nginx 配置:
server {
listen 443 ssl;
server_name 192.168.0.8;
ssl_certificate /etc/nginx/ssl/nginx.crt;
ssl_certificate_key /etc/nginx/ssl/nginx.key;
location / {
proxy_pass http://127.0.0.1:3000;
}
提前非常感谢你(: