如何在GCE上安装SSL [Wordpress + Apache]

时间:2016-01-23 12:14:34

标签: wordpress apache ssl google-compute-engine

我使用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
  4. 我将所有这些证书上传到/ etc / apache2 /文件夹

    / etc / apache2 / contains:

    然后我必须将代码添加到/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文件没有<VirtualHost>,当我尝试重新启动apache时,它说“SSLEngine命令没有在此模块中定义”。所以我浏览了一下,找到了包含/etc/apache2/sites-available/default-ssl.conf

    <VirtualHost>

    我继续添加上面的代码,但是在使用

    重启apache之后
    sudo apachectl restart
    
      

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

         

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

1 个答案:

答案 0 :(得分:3)

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

  1. 创建安全目录以安装和保护您的密钥
  2. $ sudo mkdir /etc/apache2/ssl.crt
    $ cd /etc/apache2/ssl.crt

    1. 生成私钥
    2. $ sudo openssl genrsa -out example.key 2048

      1. 生成证书签名请求(CSR)
      2. $ sudo openssl req -new -key example.key -out example.csr

        1. 您可以使用新的CSR从证书颁发机构(CA)获取有效证书。或者,您可以通过运行以下命令生成自签名证书
        2. $ sudo openssl x509 -req -days 365 -in example.csr -signkey example.key -out example.crt

            

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

          1. 打开Apache的SSL站点配置文件进行编辑
          2. $ sudo nano /etc/apache2/sites-available/default-ssl.conf

            1. 编辑以下指令的值
            2. SSLCertificateFile /etc/apache2/ssl.crt/example.crt

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

              1. 如果您有来自CA的证书链文件,请取消注释并编辑SSLCertificateChainFile值
              2. SSLCertificateChainFile /etc/apache2/ssl.crt/server-ca.crt

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

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

                3. $ sudo a2ensite default-ssl.conf

                  1. 您可以使用以下命令验证并查看配置错误
                  2. $ sudo apachectl configtest

                    1. 重新启动Apache服务
                    2. $ sudo service apache2 restart

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