Ssl

如何在埠轉發後面的 Apache2 代理上執行 TLS

  • August 7, 2022

我在使用埠轉發的 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 證書?我試過了,但它似乎也不起作用……

我該如何解決這個問題?

代理背後的伺服器是否也必須獲得 SSL 證書?

如果 Apache 應該使用 HTTPS 訪問代理背後的伺服器(即使用https://URL,那麼它需要證書。

但是假設您沒有對伺服器進行任何更改,那麼它可能只能通過 HTTP 訪問,即http://...在 ProxyPass 和 ProxyPassReverse 中使用而不是https://. 這樣,公共 URL 仍然是https://,但是 TLS 被 Apache 終止,並且沒有對伺服器進行額外的 TLS。

引用自:https://serverfault.com/questions/1107623