【问题标题】:How to install SSL on GCE [Wordpress + Apache]如何在 GCE 上安装 SSL [Wordpress + Apache]
【发布时间】:2016-04-30 00:47:59
【问题描述】:

我使用 openssl 命令创建了一个私钥文件:

openssl genrsa -des3 -out private.key 2048

输入我的密码,然后生成 CSR:

openssl req -new -key privatekey.key -out csrkey.csr

我使用此 CSR 密钥通过 RapidSSL 创建我的 SSL 证书。他们向我颁发了 3 个以 .cer 结尾的证书,即:

  1. CACertificate-1.cer
  2. CACertificate-2.cer
  3. ServerCertificate-1.cer

我将所有这些证书上传到 /etc/apache2/ 文件夹

/etc/apache2/ 包含:

然后我不得不将代码添加到 /etc/apache2/apache2.conf:

<VirtualHost _default_:443>
SSLEngine on
DocumentRoot /var/www/html
ServerName example.co.uk
SSLEngine on
SSLCertificateFile /etc/apache2/CACertificate-1.cer
SSLCertificateKeyFile /etc/apache2/privatekey.key
SSLCertificateChainFile /etc/apache2/chain.ctr
</VirtualHost>

我的/etc/apache2/apache2.conf 文件没有&lt;VirtualHost&gt;,当我尝试重新启动 apache 时,它​​显示“此模块中未定义 SSLEngine 命令”。所以我环顾四周,发现/etc/apache2/sites-available/default-ssl.conf 确实包含&lt;VirtualHost&gt;

我继续添加上面的代码,但在使用重新启动 apache 之后

sudo apachectl restart

但是https://example.co.uk 给了我一个灰屏:SSL 连接错误

ERR_SSL_PROTOCOL_ERROR 隐藏详细信息 无法建立安全连接 到服务器。这可能是服务器的问题,也可能是 需要您没有的客户端身份验证证书。

【问题讨论】:

  • 2018 年小幅更新,您可以使用letsencrypt.org 在您的 Apache 服务器上自动处理此过程。

标签: wordpress apache ssl google-compute-engine


【解决方案1】:

以下是在 Google Compute Engine 上启用 Apache 服务的 HTTPS 协议的步骤(您可以安全地跳过您已经采取的那些步骤):

  1. 创建一个安全目录来安装和保护您的密钥

$ sudo mkdir /etc/apache2/ssl.crt
$ cd /etc/apache2/ssl.crt

  1. 生成私钥

$ sudo openssl genrsa -out example.key 2048

  1. 生成证书签名请求 (CSR)

$ sudo openssl req -new -key example.key -out example.csr

  1. 您可以使用新的 CSR 从证书颁发机构 (CA) 获取有效证书。或者,您可以通过运行以下命令生成自签名证书

$ sudo openssl x509 -req -days 365 -in example.csr -signkey example.key -out example.crt

注意:自签名证书不适用于公共站点。 虽然自签名证书实现了完全加密,但它会 当访问者尝试访问时,导致大多数浏览器显示警告或错误 访问您的网站。提供上述命令用于测试目的 仅限。

  1. 打开 Apache 的 SSL 站点配置文件进行编辑

$ sudo nano /etc/apache2/sites-available/default-ssl.conf

  1. 编辑以下指令的值

SSLCertificateFile /etc/apache2/ssl.crt/example.crt

SSLCertificateKeyFile /etc/apache2/ssl.crt/example.key

  1. 如果您从 CA 获得证书链文件,请取消注释并编辑 SSLCertificateChainFile 值

SSLCertificateChainFile /etc/apache2/ssl.crt/server-ca.crt

  1. 保存配置文件并关闭。

  2. 现在启用此站点配置文件

$ sudo a2ensite default-ssl.conf

  1. 您可以使用下面的命令来验证和查看配置错误

$ sudo apachectl configtest

  1. 重启 Apache 服务

$ sudo service apache2 restart

  1. 为以下协议添加/启用 GCE 防火墙规则:VM 实例的端口对

tcp:80 and tcp:443

【讨论】:

    猜你喜欢
    • 2018-11-10
    • 2018-09-23
    • 2018-04-19
    • 1970-01-01
    • 2018-01-09
    • 2018-03-17
    • 2013-07-28
    • 2017-03-05
    • 2018-01-08
    相关资源
    最近更新 更多