2

最近、サイトをある VPS から別の VPS に移動しました。SSL の 1 つの問題を除いて、すべてが正しく行われ、正常に動作しています。

私のサイトはsslを使用しています。(rapidssl 証明書を使用)

ここからの指示に従って、証明書をあるサーバーから別のサーバーに移動しました。 http://www.sslshopper.com/apache-server-ssl-installation-instructions.html

私が直面している問題は、私にとって非常に奇妙です。HTTPS モードでは、私のサイトはhttp://stackoverflow.comhttps://stackoverflow.comなどの URL で正常に動作しますが、 https : //www.stackoverflow.com では動作しません(www に注意)。

古いサーバーでも機能するため、この問題は私には奇妙です。

前もって感謝します。プラス

これが私の仮想ホストです

<VirtualHost *:80>
ServerAdmin webmaster@@localhost
DocumentRoot /var/www/webroot/
ServerName stackoverflow.com
ServerAlias www.stackoverflow.com
<Directory //var/www/webroot/>
    Options Indexes FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>
</VirtualHost>

<IfModule mod_ssl.c>
<VirtualHost ***.***.***.***:443>
    ServerAdmin webmaster@localhost
    ServerName stackoverflow.com
    ServerAlias www.stackoverflow.com

    DocumentRoot /var/www/webroot/
    <Directory /var/www/webroot/>
            Options -Indexes
            AllowOverride All
            Order allow,deny
            allow from all
    </Directory>
    SSLEngine on
    SSLCertificateFile    /etc/apache2/ssl/thirdparty.crt
    SSLCertificateKeyFile /etc/apache2/ssl/thirdparty.key
    SSLCACertificateFile  /etc/apache2/ssl/thirdpartyssl.ca
    BrowserMatch "MSIE [2-6]" \
            nokeepalive ssl-unclean-shutdown \
            downgrade-1.0 force-response-1.0
    BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
</VirtualHost>
</IfModule>
4

1 に答える 1

0

私は解決策を見つけました。

まず第一に、問題のあるURLパターンは古いサーバーでも機能していませんでした。これは、証明書担当者によって確認されています。

そこで、すべての「https://www.stackoverflow.com」URLリクエストをhttps://stackoverflow.comに転送することにしました。これを行うために、いくつかの.htaccessルールを追加しました。

RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]

これらのルールは一般的なものであり、すべてのWebサイトで機能します。

これが他の人の時間を節約することを願っています。

于 2012-11-28T12:02:10.153 に答える