通过https

时间:2017-04-07 19:06:45

标签: ssl amazon-ec2

我已设法通过执行以下步骤将托管在我的主机提供程序(1and1)上的子域重定向到AWS上的EC2实例:

  • 在我的EC2实例上创建弹性IP
  • 将弹性IP地址添加到我的子域的DNS设置

问题:我现在如何允许https请求?子域有一个工作的SSl证书,但是当我调用https://mysubdomain.example.com时,我收到以下错误:

无法访问此站点,mysubdomain.example.com拒绝连接。

我的EC2实例上的安全组设置允许https,虽然看起来端口443未正确打开输入:

sudo netstat -tlnp

返回:

tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      10144/sshd
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      3081/master
tcp6       0      0 :::80                   :::*                    LISTEN      16084/httpd
tcp6       0      0 :::22                   :::*                    LISTEN      10144/sshd
tcp6       0      0 ::1:25                  :::*                    LISTEN      3081/master

有什么想法吗? EC2实例正在Apache VirtualHost上运行。非常感谢。

我在Apache上运行,.conf看起来像这样:

<VirtualHost *:80>

    Servername xx.xx.xx.xx

    WSGIPassAuthorization On
    WSGIDaemonProcess bottle_app threads=5 python-path=/var/www/bottle_app/:/usr/lib/python2.7/site-    packages/:/usr/lib64/python2.7/site-packages/

    WSGIScriptAlias / /var/www/bottle_app/app.wsgi

    <Directory /var/www/bottle_app>
        WSGIProcessGroup bottle_app
        WSGIApplicationGroup %{GLOBAL}
        WSGIScriptReloading On
        Order deny,allow
        Allow from all
        # Require all granted
    </Directory>

    ErrorLog /var/log/httpd/errors.log
    CustomLog /var/log/httpd/requests.log combined

</VirtualHost>

1 个答案:

答案 0 :(得分:0)

Apache的虚拟主机配置表明您只在端口80上提供服务而且没有设置tls。您需要生成或获取证书并在Apache中设置https访问权限。请阅读以下文章。如果您使用自行生成的证书,则浏览器不会信任它。

How to set up https in Apache

How to get a free trusted certificate with let's encrypt