web-dev-qa-db-ja.com

Apacheは常にhttpをhttpsにリダイレクトします

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>
3
Bharat

Apache用にポストされた構成は、httpからhttpsへのリダイレクトを行いません。この場合、httpsへの切り替えはブラウザによって行われます。

この動作の詳細は、次の場所にあります。

6
ETL