繁体   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