如何使redirectSSL在虚拟主机
我得到稍微疯狂:)如何使redirectSSL在虚拟主机
我有一个域example.com和我有一个SSL证书www.example.com 的example.com指的是IP地址的服务器(这是一个EC2实例)。
在服务器的vhost.conf我有以下的条目
<VirtualHost *:80>
ServerName example.com
Redirect permanent/https://www.example.com/
</VirtualHost>
<VirtualHost _default_:443>
ServerName www.example.com
DocumentRoot /var/www/vhosts/example-wp
SSLEngine On
...
</VirtualHost>
我把从Apache维基的信息。 https://wiki.apache.org/httpd/RedirectSSL
感谢您的帮助 特里斯坦
您已经列出执行重定向必要的指令。您还需要告诉vhost文件您的证书和证书密钥的存在位置。您还需要说明用户浏览的目录是否要加载SSL。请参阅下面的完整示例配置文件。
<VirtualHost *:80>
ServerName www.example.com
ServerAlias example.com
Redirect/https://www.example.com/
</VirtualHost>
<VirtualHost *:443>
ServerName www.example.com
ServerAlias example.com
ServerAdmin [email protected]
DocumentRoot /path/to/web/content
DirectoryIndex index.php index.html
ErrorLog logs/error_log
CustomLog logs/access combined
SSLEngine on
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCertificateFile /etc/apache2/ssl.crt/certfile.cer
SSLCertificateKeyFile /etc/apache2/ssl.key/keyfile.key
<Directory "/path/to/web/content/">
Options None
AllowOverride None
Order allow,deny
Allow from all
SSLRequireSSL
</Directory>
</VirtualHost>
感谢您的回答。它仍然不起作用。奇怪的是,应该去www.example.com的重定向不起作用。相反,它被重定向到https://example.com,因此我需要在443个虚拟主机行中包含一个我不想要的ServerAlias example.com。但我需要我的网站在线。用户会收到一条消息,指出该证书不起作用,但比脱机更好。那么为什么重定向到https www.example.com不起作用? – Tristan
本质上你有不同的“ServerNames”。您可以拥有ServerName和ServerAlias,并且都将其重定向到HTTPS。我更新了我的示例以满足您的需求。所以,现在如果你使用www.example.com或example.com,它会将你重定向到https:// www.example.com – falconspy
我完全像这样,但无论出于何种原因,都无法切换到https www.example .com,但仅限https.com,因此证书不起作用。不知道该怎么做。 – Tristan
不确定这里出现了什么问题。您已经拥有所需的指令来执行重定向到HTTPS。当然还有其他一些指令,比如SSLCipherSuite,SSLCertificateFile和SSLCertificateKeyFile等。 – falconspy