Apache 如何在vhost中创建重定向SSL
我有点疯狂:) 我有一个域example.com,我有一个www.example.com的SSL证书 example.com指的是服务器的IP地址(它是一个EC2实例) 在服务器的vhost.conf中,我有以下条目Apache 如何在vhost中创建重定向SSL,apache,ssl,Apache,Ssl,我有点疯狂:) 我有一个域example.com,我有一个www.example.com的SSL证书 example.com指的是服务器的IP地址(它是一个EC2实例) 在服务器的vhost.conf中,我有以下条目 <VirtualHost *:80> ServerName example.com Redirect permanent / https://www.example.com/ </VirtualHost> <VirtualHost _de
<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>
ServerName example.com
重定向永久/https://www.example.com/
服务器名www.example.com
DocumentRoot/var/www/vhosts/example wp
斯伦金安
...
我从ApacheWiki获取信息。
谢谢你的帮助
Tristan您已经列出了执行重定向所需的指令。您还需要告诉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 webmaster@local
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
ServerAlias example.com
重定向/https://www.example.com/
服务器名www.example.com
ServerAlias example.com
服务器管理员webmaster@local
DocumentRoot/path/to/web/content
DirectoryIndex.php index.html
错误日志/错误日志
自定义日志/访问组合
斯伦金安
SSLCipherSuite全部:!ADH:!出口56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCertificateFile/etc/apache2/ssl.crt/certfile.cer
SSLCertificateKeyFile/etc/apache2/ssl.key/keyfile.key
选项无
不允许超限
命令允许,拒绝
通融
SSLRequireSSL
不确定问题出在哪里。您已经具有执行重定向到HTTPS所需的指令。当然,对于初学者,还需要其他指令,如SSLCipherSuite、SSLCertificateFile和SSLCertificateKeyFile。感谢您的回答。但还是不行。奇怪的是,应该转到www.example.com的重定向不起作用。相反,它被重定向到443虚拟主机行,因此我需要一个我不想要的ServerAlias example.com。但我需要我的网站是在线的。用户会收到一条消息,表明证书不起作用,但比离线要好。那么,为什么重定向到https www.example.com不起作用呢?实际上,您有不同的“服务器名”。您可以使用ServerName和ServerAlias,并将其重定向到HTTPS。我更新了我的示例以满足您的需要。因此,如果您现在访问www.example.com或example.com,它会将您重定向到https://www.example.com。我的做法与此完全相同,但无论出于何种原因,都无法切换到https www.example.com,而只能切换到https example.com,因此证书不起作用。不知道该怎么办,解决了!wordpress中的设置设置为example.com而不是www.example.com。