我在 Ubuntu 12.04 上執行 Apache 2.4.7。我有一個網站http://bharatkrishna.net/這是在我家的一台機器上運作的。我已在路由器上轉發連接埠 80 和 443。
正如你所看到的,當你訪問http://bharatkrishna.net/,它會自動重定向到https://bharatkrishna.net/。
我不希望整個網站都重定向到 https。我本來打算只針對特定的子 URL 執行此操作。 IE。只喜歡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>
答案1
為 Apache 發布的配置不會執行任何從http
到 的重定向https
。在這種情況下,切換https
是由瀏覽器完成的。
有關此行為的更多資訊可以在以下位置找到: