是否可以在關閉 SSL 的情況下在埠 443 上執行 Apache VirtualHost?
我正在使用 Apache 前面的負載均衡器完全通過 SSL 執行一個站點,執行所有證書處理和解密。我讓 HTTP 流量通過負載平衡器,這樣 Apache 就可以處理重定向。當流量被重定向到 HTTPS 頁面時,負載均衡器會進行解密並將請求轉發到我想要的任何埠。
http –> 負載均衡器:80 –> apache:80 –> 301 url:443
https –> load balancer:443 –decrypted traffic–> apache:ANY PORT I WANT
我可以為我的所有虛擬主機使用除 80 之外的任何埠以避免重定向循環(埠 444 在下面的配置中工作正常),但為了使 Apache 配置與非生產環境保持一致,我想知道我是否可以使用埠 443儘管實際上在 Apache 中未啟用 SSL,但對於 VirtualHosts。
我想我可以
SSLEngine off
在<VirtualHost *:443>
沒有 SSL 的情況下強制這個埠,因為預設的 SSL 埠 Apache 似乎試圖啟用 SSL,但是 Apache 在 Debian 6 上並沒有以這個配置開始。(我已經註釋掉了/etc/apache2/ports.conf 順便說一句。)
[error] Server should be SSL-aware but has no certificate configured [Hint: SSLCertificateFile]
那麼…如何在禁用 SSL 的情況下使用埠 443?
NameVirtualHost *:80 Listen 80 <VirtualHost *:80> # Force SSL RewriteEngine On RewriteCond %{HTTPS} !=on RewriteRule ^/(.*) https://%{HTTP_HOST}/$1 [R=301,L] </VirtualHost> NameVirtualHost *:443 Listen 443 <VirtualHost *:443> SSLEngine Off DocumentRoot /var/www <Directory /var/www/> Options All AllowOverride All Order allow,deny allow from all </Directory> </VirtualHost>
答案是完全禁用 mod-ssl
sudo a2dismod ssl sudo apachectl restart
答案是完全禁用 mod-ssl
sudo a2dismod ssl sudo apachectl restart
在您的 ports.conf 中將埠 443 定義為 http(對於 debian)
例如
名稱虛擬主機 *:443
聽 443 http