Apache VirtualHost 设置强制 https
Apache VirtualHost setting to force https
试图强制所有流量进入 AWS 上的 https (ec2/Bitnami/Wordpress)。
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 会话?
顺便说一句,我尝试了下面的 Bitnami suggested solution 但它不起作用...
<VirtualHost *:80>
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/(.*) https://%{SERVER_NAME}/ [R,L]
...
</VirtualHost>
看来您的方向是正确的。我使用的是永久重定向,它完美无缺。
RedirectMatch 永久 ^(.*)$ https://www.wordpress.example.com$1
此外,由于您重定向到 https,因此不需要文档根目录和其他配置。您的所有配置都需要在您的 https 虚拟主机上进行。
对我有用的解决方案是编辑这个文件:
/opt/bitnami/apache2/conf/bitnami/bitnami.conf
正在添加...
<VirtualHost _default_:80>
DocumentRoot "/opt/bitnami/apache2/htdocs"
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/(.*) https://%{SERVER_NAME}/ [R,L]
...
</VirtualHost>
根据 Bitnami 的说法,this edit forces all apps running on Bitnami to load in https. Since wordpress is the only app I have running, this solution worked for me. The Bitnami instructions for forcing https just on wordpress对我没有用。
此处为 Bitnami 开发人员。您使用的说明是针对使用 Bitnami LAMP 堆栈的。我们将更新 Bitnami Wordpress 等 Application Cloud Images 的文档。在这种情况下,您必须编辑 httpd-app.conf
文件,而不是 httpd-prefix.conf
文件。
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/(.*) https://%{SERVER_NAME}/ [R,L]
RewriteRule /<none> / [L,R]
重新启动 Apache:
sudo /opt/bitnami/ctlscript.sh restart apache
现在将强制重定向。
试图强制所有流量进入 AWS 上的 https (ec2/Bitnami/Wordpress)。
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 会话?
顺便说一句,我尝试了下面的 Bitnami suggested solution 但它不起作用...
<VirtualHost *:80>
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/(.*) https://%{SERVER_NAME}/ [R,L]
...
</VirtualHost>
看来您的方向是正确的。我使用的是永久重定向,它完美无缺。
RedirectMatch 永久 ^(.*)$ https://www.wordpress.example.com$1
此外,由于您重定向到 https,因此不需要文档根目录和其他配置。您的所有配置都需要在您的 https 虚拟主机上进行。
对我有用的解决方案是编辑这个文件:
/opt/bitnami/apache2/conf/bitnami/bitnami.conf
正在添加...
<VirtualHost _default_:80>
DocumentRoot "/opt/bitnami/apache2/htdocs"
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/(.*) https://%{SERVER_NAME}/ [R,L]
...
</VirtualHost>
根据 Bitnami 的说法,this edit forces all apps running on Bitnami to load in https. Since wordpress is the only app I have running, this solution worked for me. The Bitnami instructions for forcing https just on wordpress对我没有用。
此处为 Bitnami 开发人员。您使用的说明是针对使用 Bitnami LAMP 堆栈的。我们将更新 Bitnami Wordpress 等 Application Cloud Images 的文档。在这种情况下,您必须编辑 httpd-app.conf
文件,而不是 httpd-prefix.conf
文件。
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/(.*) https://%{SERVER_NAME}/ [R,L]
RewriteRule /<none> / [L,R]
重新启动 Apache:
sudo /opt/bitnami/ctlscript.sh restart apache
现在将强制重定向。