簡體   English   中英

Google雲端平台:無法在Wordpress實例上運行https(SSL)

[英]Google Cloud Platform: Cannot get https (SSL) working on Wordpress Instance

我在Google Compute Engine上使用Apache / 2.2.22(Debian)和Wordpress安裝(點擊部署)。

我正在嘗試為Wordpress安裝設置SSL證書(https)。 我創建了一個靜態IP,一個私鑰,一個CSR,並已將SSL和中間crt文件(從freeSSL.com上傳)上傳到etc/apache2/ssl (使用私鑰),並給予此文件夾root:root權限。

我按照指示訪問了https://www.digitalocean.com/community/tutorials/how-to-create-a-ssl-certificate-on-apache-for-debian-7並更新了default-ssl配置文件(更新路徑名為.crt和.key文件,ServerName和ServerAdmin)。

我運行了configtest(語法正常),啟用了default-ssl並重新啟動了apache。 當我訪問https://domainhttps://ip-address ,出現“此網頁不可用”錯誤(ERR_CONNECTION_CLOSED)。 wordpress安裝仍然在http上加載正常。

雖然證書在那里,但https://www.digicert.com/help/上的SSL檢查程序給我“找不到證書”錯誤。

這對我有用;

首先嘗試使用Compute |中的復選框啟用HTTPS 計算引擎| VM實例配置設置。 如果失敗並顯示錯誤消息,您可以直接添加防火牆規則...

關於計算| 計算引擎| 在“網絡”頁面中,選擇“默認”網絡。 然后在“防火牆規則”下單擊“添加新規則”。 使用以下設置;

Name: allow-https
IP Range: 0.0.0.0/0
Allowed Protocol/Ports: tcp:443
Target tags: http-server

以上所有假設您已經用盡所有其他apache配置選項(ports.conf,虛擬主機等)。

這是解決方案:

安裝VM - WordPress(由Google雲服務器提供的解決方案),我的操作系統是Debian 7或內置於Google Wordpress。

Dot忘了允許在Google雲控制台上安裝防火牆

 Allow HTTP traffic
 Allow HTTPS traffic

安裝Open SSH Key並訪問SSH(可能使用Putty)

連接/登錄ssh(使用Putty)或其他終端

更改用戶(SSL終端)

$ sudo su

現在由vi / nano編輯

 # nano /etc/apache2/sites-available/default-ssl.conf

添加這一行

<Directory /var/www/html/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>

還有所有證書詳細信息,您可能需要購買表單提供程序

SSLCertificateFile /etc/a..../...../..../gulfstatesoftware_com.crt SSLCertificateKeyFile /etc/a..../...../..../gulfstatesoftware_com.key SSLCertificateChainFile /etc/a..../...../..../gulfstatesoftware_com.ca-bundle

和#key不需要。

保存並退出。

在終端中運行以下命令:

sudo a2ensite default-ssl
service apache2 reload
sudo a2enmod ssl
service apache2 reload
sudo service apache2 restart

您可能想修復Permalink :( www.example.com/my-blog-url),也就是在wordpress.conf文件中。

  1. 編輯# nano /etc/apache2/sites-available/wordpress.conf更改: AllowOverride All
  2. 將.htaccess添加到/ var / www / html

    <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM