【发布时间】:2021-12-27 14:41:05
【问题描述】:
我正在尝试将 http URL 重定向到 https,并将 www URL 重定向到非 www。 我正在使用在 Raspberry Pi 3 模型 B+ 中运行的最新版本的 Apache 2 http 服务器。
我想在 apache2.conf 中使用 VirtualHosts,因为我在很多地方读到这种方法比使用 .htaccess 更受欢迎
我得到 3 次重定向以正常工作:
http://www.example.com 转到https://example.com
https://example.com 转到https://example.com
https://www.example.com 转到https://example.com
但是 http://example.com 转至http://example.com
换句话说,非 www 不安全 (http) 站点不会被重定向 到安全 (https) 站点...我无法加载我的 SSL 证书。
我使用 CNAME 将 www 网站重定向到非 www。
http 使用重定向指令到达 https。
这是我的 apache2.conf 文件的相关部分:
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
Redirect / https://example.com/
</VirtualHost>
<VirtualHost *:443>
ServerName example.com
ServerAlias www.example.com
Protocols h2 http/1.1
ErrorLog logs/error_log
SSLEngine on
SSLCertificateFile /etc/ssl/example.com.crt
SSLCertificateKeyFile /etc/ssl/example_com_key.txt
SSLCertificateChainFile /etc/ssl/example.com.ca-bundle
SSLUseStapling on
</VirtualHost>
SSLStaplingCache shmcb:/tmp/stapling_cache(128000)
【问题讨论】:
标签: apache redirect apache2 virtualhost