使用 Apache 作为 Stunnel

使用 Apache 作为 Stunnel

我使用 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 即可立即解决问题。

学过的知识: 请务必检查其他虚拟主机,以确保没有为同一端口配置任何其他内容。

相关内容