我通过Let's Encrypt安装了SSL证书。一切都很棒,除了我的域名的一些变化我从我的浏览器收到一条消息"你的连接不是私密的"。我认为这是因为我只是将流量重定向到网址的https版本而不是我的规范网址(ServerName)。
这是我的apache文件的设置。在端口80上有一些重定向,将流量转发到端口443。
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
ServerAlias dev.example.com
[... some other stuff... ]
RewriteEngine On
CustomLog /var/log/apache2/serviam2/access.log combined
RewriteCond %{SERVER_NAME} =example.com [OR]
RewriteCond %{SERVER_NAME} =www.example.com [OR]
RewriteCond %{SERVER_NAME} =dev.example.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
以下是重要部分: 所有流量都被重定向到443版本(这很好),但我也希望所有ServerAlias都重定向到ServerName。
因此...... http://dev.example.com应该重定向到https://example.com
此外,https://dev.example.com应重定向到https://example.com
我不是阿帕奇功夫大师,我正在努力通过修改当前的设置来使其适应。
答案 0 :(得分:-1)
您需要将%{SERVER_NAME}
中的RewriteRule
更改为目标域,例如:
RewriteRule ^ https://example.com%{REQUEST_URI} [END,NE,R=permanent]