Apache 反向代理,以便 SSL 瀏覽器對伺服器 IP 的請求重定向到 FQDN

Apache 反向代理,以便 SSL 瀏覽器對伺服器 IP 的請求重定向到 FQDN

我在同一台伺服器上執行 Apache 和自訂非 Apache Web 服務。我正在嘗試讓 Apache 反向代理到其他網站的 SSL 連接,以防止當有人透過在瀏覽器中輸入地址來訪問我的網站時顯示 SSL 警告(https://xx.xx.xx.xx)。我希望在這種情況下請求自動變更為 FQDN 請求,以防止憑證警告。

我的網站正在自訂服務(不是 Apache)上運行,並且它無法阻止此行為。我的計劃是將 Apache 設定為偵聽 443 並重定向到同一機器上的連接埠 80,並使用某種重寫規則來阻止直接 IP 存取或重新導向它。

我可以讓該部分正常工作,但直接發送到 IP 的請求不會自動重定向到名稱請求。連接埠 8080 上的部分工作測試配置如下。

<VirtualHost *:8080>
ServerName fqdn
SSLEngine On
SSLCertificateFile /etc/httpd/ssl/Cert.crt
SSLCertificateKeyFile /etc/httpd/ssl/Key.key
SSLCertificateChainFile /etc/httpd/ssl/TrustedRoot.crt
ProxyRequests Off
ProxyPreserveHost On
<Proxy *>
AddDefaultCharset Off
Order deny,allow
Allow from all
</Proxy>
ProxyPass / http://fqdn:80/
ProxyPassReverse / http://fqdn:80/

ErrorLog logs/myserver-error_log
CustomLog logs/myserver-access_log common
</VirtualHost>

我嘗試過一些重寫指令,但沒有太大成功。此外,JavaScript 重定向不會阻止 SSL 錯誤。有想法嗎?

答案1

將您的服務變更為偵聽無法從外部存取的端口,例如 8888。那些滿足的,例如。完全合格域名:

ProxyPass / http://127.0.0.1:8888/
ProxyPassReverse / http://127.0.0.1:8888/

在連接埠 443 上新增一個虛擬主機以用於安全性請求 (https/SSL),並為那些不使用 FQDN 到達您的系統的請求新增預設伺服器。

相關內容