Ubuntu 2.04でApache 2.4.7を実行しています。私にはサイト http://bharatkrishna.net/ があり、これは自宅のマシンで実行されています。ルーターのポート80と443を転送しました。
ご覧のとおり、 http://bharatkrishna.net/ にアクセスすると、自動的に https://bharatkrishna.net/ にリダイレクトされます。
サイト全体でhttpsにリダイレクトされたくない。特定のサブURLに対してのみ実行するつもりでした。すなわち。唯一のように http://bharatkrishna.net/login は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
をサイト対応の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>
Apache用にポストされた構成は、http
からhttps
へのリダイレクトを行いません。この場合、https
への切り替えはブラウザによって行われます。
この動作の詳細は、次の場所にあります。