Amazon ec2 用于强制https的Apache VirtualHost设置

Amazon ec2 用于强制https的Apache VirtualHost设置,amazon-ec2,https,bitnami,Amazon Ec2,Https,Bitnami,试图强制AWS(ec2/Bitnami/Wordpress)上的所有流量进入https httpd-vhosts.conf中的当前设置为 <VirtualHost *:80> ServerName wordpress.example.com ServerAlias www.wordpress.example.com DocumentRoot "/opt/bitnami/apps/wordpress/htdocs" Include "/opt/bitn

试图强制AWS(ec2/Bitnami/Wordpress)上的所有流量进入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>

ServerName wordpress.example.com
ServerAlias www.wordpress.example.com
DocumentRoot“/opt/bitnami/apps/wordpress/htdocs”
包括“/opt/bitnami/apps/wordpress/conf/httpd-app.conf”
...
我可以简单地用如下重定向替换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>

ServerName wordpress.example.com
重定向/https://www.wordpress.example.com
DocumentRoot“/opt/bitnami/apps/wordpress/htdocs”
包括“/opt/bitnami/apps/wordpress/conf/httpd-app.conf”
...
我认为重定向不仅可以将会话整合到规范的“www”中,还可以使它们成为HTTPS

它是这样工作的,还是仍然需要ServerAlias指令

如果需要,服务器别名是在重定向之前还是之后

最后,如果ServerAlias位于重定向之后,并且不包括“https://...“,是否允许非HTTPS会话

顺便说一句,我尝试了下面的,但它不工作

<VirtualHost *:80>
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/(.*) https://%{SERVER_NAME}/$1 [R,L]
...
</VirtualHost>

重新启动发动机
重写cond%{HTTPS}=在…上
重写规则^/(*)https://%{SERVER_NAME}/$1[R,L]
...

看起来您的路径是正确的。我正在使用一个永久重定向,它可以完美地工作

重定向匹配永久性文件^(.*)$$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}/$1 [R,L]
  ...
</VirtualHost>

DocumentRoot“/opt/bitnami/apache2/htdocs”
重新启动发动机
重写cond%{HTTPS}=在…上
重写规则^/(*)https://%{SERVER_NAME}/$1[R,L]
...

根据Bitnami的说法,强制所有在Bitnami上运行的应用程序以https加载。因为wordpress是我唯一运行的应用程序,这个解决方案对我来说很有效。的Bitnami说明对我不起作用。

这里是Bitnami开发者。您使用的说明旨在使用Bitnami灯组。我们将更新应用程序云映像(如Bitnami Wordpress)的文档。在这种情况下,您必须编辑
httpd app.conf
文件,而不是
httpd prefix.conf
文件

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/(.*) https://%{SERVER_NAME}/$1 [R,L]
RewriteRule /<none> / [L,R]

现在将强制重定向

我添加了您的指令并重新启动了apache,但仍然得到不安全的会话。我假设您只使用了“ServerName wordpress.example.com”和“RedirectMatch…”指令?在端口80的虚拟主机的开头,我只设置了ServerName、ServerAlias,然后设置了上述重定向。其他的都被注释掉了。另外,再次检查您在general apache2.conf或任何其他引用的conf文件中没有DocumentRoot集。。。DocumentRoot“/opt/bitnami/apache2/htdocs”然而,我能够通过遵循bitnami文档并编辑/opt/bitnami/apache2/conf/bitnami/bitnami.conf在所有应用程序上强制使用https,而不仅仅是wordpress“如何强制应用程序的HTTPS重定向?在第一个VirtualHost指令的/opt/bitnami/apps/myapp/conf/httpd-vhosts.conf文件中添加以下内容:“因此,如果这不适用于您的WPress包,您应该注意例外情况。我们正在改进文档以使此信息更清晰。谢谢问题解决了吗?是的,我只是继续编辑/opt/bitnami/apache2/conf/bitnami/bitnami.conf来强制所有应用程序使用https。有什么改进吗?我遵照您的指示,仍然没有指向https
sudo /opt/bitnami/ctlscript.sh restart apache