私はUbuntu 12.04でApache 2.4.7を実行しています。サイトを持っていますhttp://bharatkrishna.net/これは私の自宅のマシンで実行されています。ルーターのポート 80 と 443 を転送しました。
ご覧の通り、訪問するとhttp://bharatkrishna.net/自動的にリダイレクトされますhttps://bharatkrishna.net/。
サイト全体をhttpsにリダイレクトさせたくありません。特定のサブURLのみにリダイレクトするつもりでした。つまり、http://bharatkrishna.net/ログインは https に、残りは http にする必要があります。どうすればいいですか?
これは、オンラインのチュートリアルを読んで Apache で SSL を設定する方法です。
• /etc/apache2/sites-enabled/でSSLEngineをオンにし、証明書の場所を設定します
<IfModule mod_ssl.c>
<VirtualHost _default_:443>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/
#LogLevel info ssl:warn
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
# SSL Engine Switch:
# Enable/Disable SSL for this virtual host.
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/www_bharatkrishna_net.crt
SSLCertificateKeyFile /etc/apache2/ssl/bharatkrishna.net.key
SSLCACertificatePath /etc/ssl/certs/
SSLCACertificateFile /etc/apache2/ssl/bundle.crt
....
....
</VirtualHost>
</IfModule>
• 次のコマンドを実行します。
sudo a2enmod ssl
sudo a2ensite default-ssl
000-default.conf
sites-enabled の下にコピーしましたdefault.conf
。ファイルの内容は次のとおりです。
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
答え1
Apache 用に投稿された設定では、 から へのリダイレクトは行われませんhttp
。この場合、https
への切り替えはhttps
ブラウザによって行われます。
この動作の詳細については、以下を参照してください。