Web サイトの SSL 接続を取得しています。つまり、HTTPS でアクセスできます。このようなことをしたのはこれが初めてで、新しい接続で正常に動作するようにスクリプトで行う必要がある基本的なことを知りたいです。
私のウェブサイトはクッキーとセッションを使用しています。また、HTTP の代わりに HTTPS を使用するようにユーザーに強制する方法を知る必要もあります (つまり、ユーザーが HTTP を使用した場合は HTTPS にリダイレクトします)。
ありがとうございました。
これはphpで行うことができますが、実際にはhttp接続を受け入れてスクリプトを実行し、プログラムでリダイレクトHTTPヘッダーを送信します。
通常、あなたがしていることは、あなたが使用しているものは何でもあなたがリダイレクトをするためにあなたのphpアプリケーション(apache、nginx、...)を提供することを構成することです。
あなたが世話をする必要があることがいくつかあります:
http://wiki.apache.org/httpd/NameBasedSSLVHosts
特定の URL に対して SSL を強制する必要がある場合は、次のようにすることができます。
ポート 80 の着信 URL を特定のパターンで書き換えます。
RewriteCond %{REQUEST_URI} ^/PATH-YOU-WANT-TO-RESTRICT$
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://%{SERVER_NAME}$1 [R,L]
また、Apache サーバーがポート 443 で受信するリクエストをリッスンしていることを確認する必要があります。これは、httpd.conf ファイルで簡単に行うことができます。
Listen servername:443
また、Apache サーバーに仮想ホストが必要です。
LoadModule ibm_ssl_module modules/mod_ibm_ssl.so
<VirtualHost servername:443>
SSLEnable
ServerName servername
SSLClientAuth None
ErrorLog /servername/conf/ssl/logs/https-error_log
RewriteEngine On
Include conf/vanity_rules/vanity_rewrite_rules.conf
KeyFile /servername/conf/ssl/yourkey.kdb
</VirtualHost>
この構成により、ブラウザーと Apache サーバー間のトランスポートがすべて暗号化されます。
次のことに注意する必要があります。
SSL のみを強制する場合は、http vhost をリダイレクトするように構成します。
Redirect permanent / https://yourdomain.com
https仮想ホストを安全に構成し、暗号化スーツなどに関して何をしているのかを確認してください。構成の例を次に示します(必要なものと正確に一致しない場合がありますが、同様です):
SSLEngine on
Header set Strict-Transport-Security "max-age=8640000;includeSubdomains"
SSLProtocol -ALL +SSLv3 +TLSv1
SSLCipherSuite 'ECDHE-RSA-RC4-SHA:RC4+SHA1+RSA'
SSLCertificateFile path/to/your.crt
SSLCertificateKeyFile path/to/your.key
SetEnvIf User-Agent ".*MSIE.*" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
SSLCACertificateFile path/to/intermediate.ca