我有一个防火墙(连接到互联网),其中安装了 apache 上的 mod_proxy。防火墙后面有几台正在运行的 Web 服务器。这里的问题是 SSL。出于多种原因,我喜欢将所有内容都放在 SSL 上,也放在内部网络上。其中一个原因是 Web 服务器在使用时可能会停滞,因为浏览器客户端会将服务器视为非 SSL。所以我只想确保所有内容都在 SSL 下。
我正在运行 Ubuntu 22.04,apache 2.4
防火墙 apache 配置如下:
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerName my.domain.com
ProxyPreserveHost On
ProxyPass / http://192.168.1.85/
ProxyPassReverse / http://192.168.1.85/
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /etc/letsencrypt/live/my.domain.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/my.domain.com/privkey.pem
</VirtualHost>
“背后”的网络服务器看起来是这样的:
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www/html
ServerName my.domain.com
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
我使用 Bind 作为内部 DNS 软件(运行良好):)我不确定如何在防火墙和防火墙后面的 Web 服务器之间进行 SSL。希望能得到一些帮助:)
我正在使用 letsencrypt,但也可以使用其他任何方式(长期 SSL),因为这是一个内部且安全的网络。
如果可能的话……我非常希望(不让)Apache 在防火墙上运行。我不知道这是否可行。但问题是我将拥有多个 Web 服务器,因此我不能只转发端口……但如果能对此有所考虑,我将非常欢迎!:)
期待大家的回复。