我的VirtualHost重定向的HTTPS站点已损坏

时间:2014-08-12 20:35:16

标签: apache redirect virtualhost apache2.2 virtual-hosts

Apache / 2.2.15,CentOS Linux。

我有一个网站,我希望整个网站始终进行SSL加密。通常,我不使用mod_rewrite来做我的www /非www重定向;我只使用VirtualHostRedirect指令。

但是,尝试使用我的HTTPS站点执行此操作会在所有浏览器中返回通用SSL连接错误。这是我的vhost文件(域名和IP地址已更改):

NameVirtualHost 192.168.0.256:80
NameVirtualHost 192.168.0.256:443

<VirtualHost 192.168.0.256:80>
    ServerName www.example.com
    ServerAlias example.com
    Redirect / https://www.example.com/
</VirtualHost>

# ############################
# This block breaks everything
# ############################
<VirtualHost 192.168.0.256:443>
   ServerName example.com:443
   Redirect / https://www.example.com/
</VirtualHost>

<VirtualHost 192.168.0.256:443>
    DocumentRoot /var/www/example_site/htdocs/
    ServerName www.example.com:443
    ErrorLog /var/www/logs/example_site/error_log
    SSLEngine On
    SSLCertificateFile /etc/httpd/ssl.crt/www.example.com.crt
    SSLCertificateKeyFile /etc/httpd/ssl.key/www.example.com.key
    SSLCACertificateFile /etc/httpd/ssl.crt/www.example.com.ca-bundle
    SetEnvIf User-Agent ".*MSIE.*" \
             nokeepalive ssl-unclean-shutdown \
             downgrade-1.0 force-response-1.0
    <Directory /var/www/example_site/htdocs/>
        Options FollowSymLinks MultiViews
        AllowOverride All
    </Directory>
    <Files ~ "\.php$">
        SSLOptions +StdEnvVars
    </Files>
</VirtualHost>

标记为“此块打破一切”的块似乎是罪魁祸首。当VirtualHost块被注释掉时,网站按预期加载,一切都很好。但我真的希望/需要将非www重定向到www,并且当启用该块时,我会在每次尝试加载网站时得到此信息:

Error message in Chrome for Mac

错误日志似乎没有显示任何有用的内容。任何人都可以从中判断究竟出了什么问题吗?

1 个答案:

答案 0 :(得分:2)

端口443始终需要附加证书。即使它只是一个简单的重定向。连接 - &gt; SSL - &gt;数据传输。