我在使用端口转发的 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。