尝试强制所有流量转换为AWS(ec2/Bitnami/Wordpress)上的https。Apache VirtualHost设置强制https
中的httpd-vhosts.conf当前设置...
<VirtualHost *:80>
ServerName wordpress.example.com
ServerAlias www.wordpress.example.com
DocumentRoot "/opt/bitnami/apps/wordpress/htdocs"
Include "/opt/bitnami/apps/wordpress/conf/httpd-app.conf"
</VirtualHost>
<VirtualHost *:443>
...
</VirtualHost>
我可以简单地重定向像更换ServerAlias ...
<VirtualHost *:80>
ServerName wordpress.example.com
Redirect/https://www.wordpress.example.com
DocumentRoot "/opt/bitnami/apps/wordpress/htdocs"
Include "/opt/bitnami/apps/wordpress/conf/httpd-app.conf"
</VirtualHost>
<VirtualHost *:443>
...
</VirtualHost>
我认为重定向不仅会将会话整合到规范的“www”中,而且还会使它们成为HTTPS。
它会以这种方式工作,还是我仍然需要ServerAlias指令?
如果需要,ServerAlias会在重定向之前还是之后出现?
最后,如果ServerAlias在重定向之后,并且不包含“https:// ...”,那么它是否允许非HTTPS会话?
BTW,我尝试下面的Bitnami suggested solution,但它不工作...
<VirtualHost *:80>
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/(.*) https://%{SERVER_NAME}/$1 [R,L]
...
</VirtualHost>
我添加了你的指令并重新启动了apache,但我仍然收到不安全的会话。我假设你只使用“ServerName wordpress.example.com”和“RedirectMatch ...”指令? – webguy
在端口80的虚拟主机开始时,我只设置了ServerName,ServerAlias,然后是上面的重定向。其他一切都被注释掉了。另外,仔细检查一下你没有在通用apache2中设置DocumentRoot。conf或任何其他引用的conf文件。 –
在/opt/bitnami/apache2/conf/http.conf中我有(并保留)... DocumentRoot“/ opt/bitnami/apache2/htdocs” 但是,我能够通过遵循Bitnami文档并编辑/opt/bitnami/apache2/conf/bitnami/bitnami.conf来强制https,以在所有应用程序上强制使用https,而不仅仅是wordpress。 –
webguy