我有一個 DigitalOcean Ubuntu 20.04 Droplet。從 Namecheap 連接到域和 SSL 證書。一切正常。我正在嘗試添加從http://example.com到https://www.example.com的重定向。HTTPS 和萬維網。當我嘗試我的域時。我收到一條錯誤訊息,提示“重定向過多”。我無法訪問該頁面。沒有阿帕奇。所以我處于重定向回圈中。在 www 和非 www 之間。我的 /etc/apache2/sites-enabled/000-default.conf 是:
`<VirtualHost *:80>
ServerName example.com
Redirect permanent / https://www.example.com/
</VirtualHost>
<VirtualHost *:443>
ServerName example.com
Redirect permanent / https://www.example.com/
DocumentRoot /var/www/html
SSLEngine on
SSLCertificateFile /etc/ssl/example_com.crt
SSLCertificateKeyFile /etc/ssl/example_com.key
SSLCertificateChainFile /etc/ssl/example_com.ca-bundle
</VirtualHost>`
那么,如何停止重定向回圈?我也有 /etc/apache2/sites-enabled/000-default.conf:30
`<VirtualHost *:443>
ServerName example.com
DocumentRoot /var/www/html
SSLEngine on
SSLCertificateFile /etc/ssl/example_com.crt
SSLCertificateKeyFile /etc/ssl/example_com.key
SSLCertificateChainFile /etc/ssl/example_com.ca-bundle
</VirtualHost>`
這看起來正確嗎?請看一下。并回復。如何停止重定向。環形。謝謝
uj5u.com熱心網友回復:
調整您的 Vhost 配置:
<VirtualHost *:443>
ServerName example.com
# Redirect permanent / https://www.example.com/ <- *Remove or comment this line*
DocumentRoot /var/www/html
SSLEngine on
SSLCertificateFile /etc/ssl/example_com.crt
SSLCertificateKeyFile /etc/ssl/example_com.key
SSLCertificateChainFile /etc/ssl/example_com.ca-bundle
</VirtualHost>`
然后reload是 Apache 服務,在此之后您的重定向將是:
http://example.com -> https://www.example.com
http://www.example.com -> https://www.example.com
https://example.com -> Stays the same
https://www.example.com -> Stays the same
然后在 HTTPS 上將 example.com 重定向到 www.example,將其添加到您的 443 Vhost:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
要得到以下結果:
http://example.com -> https://www.example.com
http://www.example.com -> https://www.example.com
https://example.com -> https://www.example.com
https://www.example.com -> Stays the same
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/317897.html
標籤:阿帕奇 ssl https ubuntu-20.04
上一篇:限制瀏覽某些資源
