Apache-2.2
SSL - 如何同時使 http 和 https 工作
我在專用伺服器上建立了一個 Drupal 6 站點,並通過安裝在其上的“Matrix”控制面板啟用了 SSL。
現在的問題是,該站點僅從 https 載入頁面。大多數圖像也不會載入,我認為這與同一件事有關。理想情況下,我希望 http 和 https 都可以工作,然後我可以為需要安全的頁面整理重定向。
嘗試載入正常 http 頁面時出現的錯誤是:
**Bad Request** Your browser sent a request that this server could not understand. Reason: You're speaking plain HTTP to an SSL-enabled server port. Instead use the HTTPS scheme to access this URL, please.
誰能指出我正確的方向?
編輯:
在sites-enabled/domainname.co.uk中,為伺服器的 IP 設置了一個 <VirtualHost>,使用埠 80,如下所示:
<VirtualHost xx.xx.xx.xx:80> ServerName xx.co.uk ServerAlias www.xx.co.uk ServerAdmin webmaster@xx.co.uk DocumentRoot /home/default/xx.co.uk/user/htdocs ErrorLog /home/default/xx.co.uk/user/logfiles/error_log TransferLog /home/default/xx.co.uk/user/logfiles/access_log php_admin_value open_basedir /tmp:/home/default/xx.co.uk SuexecUserGroup xx matrixdomain ScriptAlias /cgi-bin/ /home/default/xx.co.uk/user/htdocs/cgi-bin/ AddHandler server-parsed .shtml AddType text/html .shtml <Location /> Options +Includes </Location> # Begin user directives <-- # --> End user directives
我需要為 443 再做一個嗎?
在ports.conf我有
名稱虛擬主機 *:80 聽 80 <IfModule mod_ssl.c> # 還不支持基於 SSL 名稱的虛擬主機,因此不支持 # NameVirtualHost 聲明在這裡 聽著 443 </IfModule>
似乎您的 Apache httpd 配置錯誤並嘗試在 HTTP 埠上提供 HTTPS(查看 Drupal 站點的虛擬主機配置),或者您正在使用類似**http://example.com:443/**的方案來訪問您的Drupal 安裝,這也不起作用。
HTTP 應該在埠 80 上提供 HTTPS 應該在埠 443 上提供
您的網站應該在:http://www.domain.com https://www.domain.com上執行。
它可能是以下幾件事之一:
- 您手動指定埠,例如,如果您訪問http://www.domain.com:443/,這通常會失敗
- Web 伺服器配置不正確,並且出於某種原因在埠 80 上服務 SSL 內容。這通常不會發生,除非您的控制面板中有錯誤或某些東西。你重啟過apache嗎?
- 在drupal配置中,設置網站URL為“ http://www.domain.com:443 ”。即使您在瀏覽器中鍵入http://www.domain.com ,它也會始終將您轉至該位置。
- 您安裝了 Drupal Secure Pages 但配置不正確。如果已安裝,請訪問https://www.domain.com/admin/build/securepages進行配置。
我認為這總結了問題可能是什麼,讓我們知道您的解決方案!