我使用 stunnel 将 http 端口转换为 https。但是,它不支持 OCSP 装订,因此我决定改用 Apache 反向代理。我想要转换为 https 的服务位于 7231 上,因此我创建了一个虚拟主机来监听端口 7232 并将所有 https 流量路由到它。但是,由于某种原因,它无法正常工作,因为它只是从 443 抓取内容。它应该从 7231 获取内容并通过 https 在 7232 上显示。
我究竟做错了什么?
Listen 7232
<IfModule mod_ssl.c>
SSLStaplingCache shmcb:/var/run/apache2/stapling_cache(128000)
<VirtualHost *:7232>
ServerAdmin webmaster@localhost
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLEngine On
SSLProxyEngine On
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / http://mywebsite.org:7231/
ProxyPassReverse / http://mywebsite.org:7231/
ServerName mywebsite.org:7232
Include /etc/letsencrypt/options-ssl-apache.conf
SSLUseStapling on
SSLCertificateFile /etc/letsencrypt/live/mywebsite.org/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/mywebsite.org/privkey.pem
</VirtualHost>
</IfModule>
答案1
事实证明这是我在 VirtualHost 443 中犯的一个错误。
它看起来是这样的:
<VirtualHost *:443 *:7232>
# Configurations go here!
</VirtualHost>
由于这个 VirtualHost,它覆盖了 7232 的单独虚拟主机。因此,只需从这个虚拟主机中删除 7232 即可立即解决问题。
学过的知识: 请务必检查其他虚拟主机,以确保没有为同一端口配置任何其他内容。