如何在端口转发后的 Apache2 代理上运行 TLS

如何在端口转发后的 Apache2 代理上运行 TLS

我在使用端口转发的 TLS 中使用 apache2 代理时遇到问题。我设法让它在 HTTP 中正常工作,但当我尝试让它在 HTTPS 中工作时,Apache 会显示消息

暂停服务

由于维护停机或容量问题,服务器暂时无法满足您的请求。请稍后重试。

这是我的.conf 文件:

<IfModule mod_ssl.c>
<VirtualHost *:443>

    ServerName service-test.mydomain.com
    ServerAlias service-test.mydomain.com
    ServerAdmin localhost@localhost
    
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    ProxyRequests Off
    <Proxy *>
    Order deny,allow
    Allow from all
    </Proxy>
    ProxyPass / https://192.168.1.34:1010/
    ProxyPassReverse / https://192.168.1.34:1010/

    SSLEngine on
    SSLCertificateFile /etc/letsencrypt/live/service-test.mydomain.com/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/service-test.mydomain.com/privkey.pem   
    <Location />
    Order allow,deny
    Allow from all
    </Location>
</VirtualHost>

我的 NAT 配置得很好,只有 HTTPS 才会出现问题。我在 Proxmox VM 上使用 Debian 11。

代理后面的服务器是否也必须获得 SSL 证书?我试过了,但似乎也不起作用……

我该如何修复此问题?

答案1

代理后面的服务器是否也必须获得 SSL 证书?

如果 Apache 应该使用 HTTPS(即通过 URL)访问代理后面的服务器https://,则它需要证书。

但假设您没有对服务器进行任何更改,那么它可能应该仅通过 HTTP 访问,即http://...在 ProxyPass 和 ProxyPassReverse 中使用,而不是https://。这样,公共 URL 仍然是https://,但 TLS 由 Apache 终止,并且服务器没有进行额外的 TLS。

相关内容