Ssl AmazonEC2如何设置https?

Ssl AmazonEC2如何设置https?,ssl,https,amazon-ec2,Ssl,Https,Amazon Ec2,我已经阅读了AmazonEC2的https设置指南,并完成了几个步骤。但它仍然不起作用 签署SSL证书,我使用自签名证书 使用aws iam将SSL证书上载到amazon服务器 在ec2控制平台中,在当前安全组的入站端口中添加端口80和端口443 创建新负载平衡器,在新负载平衡器中添加带有端口80的http、带有上载证书的端口443和https,并在负载平衡器中分配当前实例 最后,我检查了实例的安全组并确保它是正确的。我重新启动了实例,https无法工作。健康检查可以通过检查端口80。但它没有通

我已经阅读了AmazonEC2的https设置指南,并完成了几个步骤。但它仍然不起作用

  • 签署SSL证书,我使用自签名证书
  • 使用aws iam将SSL证书上载到amazon服务器
  • 在ec2控制平台中,在当前安全组的入站端口中添加端口80和端口443
  • 创建新负载平衡器,在新负载平衡器中添加带有端口80的http、带有上载证书的端口443和https,并在负载平衡器中分配当前实例
  • 最后,我检查了实例的安全组并确保它是正确的。我重新启动了实例,https无法工作。健康检查可以通过检查端口80。但它没有通过检查端口443


    我会错过任何一步吗

    我知道这篇文章已经有一年了,但我最近也遇到了类似的问题,希望有人能发现这篇文章很有用

    我看到您正在使用负载平衡器。您必须执行以下操作:

    第一步 确保EC2实例上的端口443处于打开状态,并且没有被防火墙阻止。你可以跑

    sudo netstat -tlnp
    
    在linux上检查哪些端口已打开。输出应如下所示:

    Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
    tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      937/sshd
    tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      1060/mysqld
    tcp6       0      0 :::22                   :::*                    LISTEN      937/sshd
    tcp6       0      0 :::443                  :::*                    LISTEN      2798/apache2
    tcp6       0      0 :::80                   :::*                    LISTEN      2798/apache2
    
    <VirtualHost *:80>
         DocumentRoot /var/www/html/mysite.com
         ServerName mysite.com
         ServerAlias www.mysite.com
            <Directory /var/www/html/mysite.com>
                    AllowOverride All
                    RewriteEngine On
                    Require all granted
                    Options -Indexes +FollowSymLinks
            </Directory>
    </VirtualHost>
    <VirtualHost *:443>
         DocumentRoot /var/www/html/mysite.com
         ServerName mysite.com
         ServerAlias www.mysite.com
         SSLEngine on
         SSLCertificateFile /usr/local/ssl/public.crt
         SSLCertificateKeyFile /usr/local/ssl/private/private.key
         SSLCACertificateFile /usr/local/ssl/intermediate.crt
    </VirtualHost>
    
    步骤2 确保安全组的设置如下所示:

    EC2(入站)

    • HTTP TCP 80负载均衡器
    • HTTPS TCP 443负载平衡器
    负载平衡器(出站)

    • HTTP TCP 80 EC2实例
    • HTTPS TCP 443 EC2实例
    步骤3 确保您的EC2实例正在侦听端口443(/etc/apache2/ports.conf):

    如果您使用的是虚拟主机,请确保它如下所示:

    Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
    tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      937/sshd
    tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      1060/mysqld
    tcp6       0      0 :::22                   :::*                    LISTEN      937/sshd
    tcp6       0      0 :::443                  :::*                    LISTEN      2798/apache2
    tcp6       0      0 :::80                   :::*                    LISTEN      2798/apache2
    
    <VirtualHost *:80>
         DocumentRoot /var/www/html/mysite.com
         ServerName mysite.com
         ServerAlias www.mysite.com
            <Directory /var/www/html/mysite.com>
                    AllowOverride All
                    RewriteEngine On
                    Require all granted
                    Options -Indexes +FollowSymLinks
            </Directory>
    </VirtualHost>
    <VirtualHost *:443>
         DocumentRoot /var/www/html/mysite.com
         ServerName mysite.com
         ServerAlias www.mysite.com
         SSLEngine on
         SSLCertificateFile /usr/local/ssl/public.crt
         SSLCertificateKeyFile /usr/local/ssl/private/private.key
         SSLCACertificateFile /usr/local/ssl/intermediate.crt
    </VirtualHost>
    
    步骤4 在连接了EC2实例的负载平衡器上创建侦听器。侦听器用于HTTPS和端口443。侦听器将请求一个证书,并且已经列出了您从aws cli添加的证书。如果未列出,请注销AWS控制台并重新登录

    之后,通过HTTPS的流量将开始流向您的EC2实例


    我也有类似的问题,并在这里发布了我的问题和答案:

    我知道这篇文章已经有一年了,但我最近也有类似的问题,希望有人能发现这篇文章很有用

    我看到您正在使用负载平衡器。您必须执行以下操作:

    第一步 确保EC2实例上的端口443处于打开状态,并且没有被防火墙阻止。你可以跑

    sudo netstat -tlnp
    
    在linux上检查哪些端口已打开。输出应如下所示:

    Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
    tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      937/sshd
    tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      1060/mysqld
    tcp6       0      0 :::22                   :::*                    LISTEN      937/sshd
    tcp6       0      0 :::443                  :::*                    LISTEN      2798/apache2
    tcp6       0      0 :::80                   :::*                    LISTEN      2798/apache2
    
    <VirtualHost *:80>
         DocumentRoot /var/www/html/mysite.com
         ServerName mysite.com
         ServerAlias www.mysite.com
            <Directory /var/www/html/mysite.com>
                    AllowOverride All
                    RewriteEngine On
                    Require all granted
                    Options -Indexes +FollowSymLinks
            </Directory>
    </VirtualHost>
    <VirtualHost *:443>
         DocumentRoot /var/www/html/mysite.com
         ServerName mysite.com
         ServerAlias www.mysite.com
         SSLEngine on
         SSLCertificateFile /usr/local/ssl/public.crt
         SSLCertificateKeyFile /usr/local/ssl/private/private.key
         SSLCACertificateFile /usr/local/ssl/intermediate.crt
    </VirtualHost>
    
    步骤2 确保安全组的设置如下所示:

    EC2(入站)

    • HTTP TCP 80负载均衡器
    • HTTPS TCP 443负载平衡器
    负载平衡器(出站)

    • HTTP TCP 80 EC2实例
    • HTTPS TCP 443 EC2实例
    步骤3 确保您的EC2实例正在侦听端口443(/etc/apache2/ports.conf):

    如果您使用的是虚拟主机,请确保它如下所示:

    Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
    tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      937/sshd
    tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      1060/mysqld
    tcp6       0      0 :::22                   :::*                    LISTEN      937/sshd
    tcp6       0      0 :::443                  :::*                    LISTEN      2798/apache2
    tcp6       0      0 :::80                   :::*                    LISTEN      2798/apache2
    
    <VirtualHost *:80>
         DocumentRoot /var/www/html/mysite.com
         ServerName mysite.com
         ServerAlias www.mysite.com
            <Directory /var/www/html/mysite.com>
                    AllowOverride All
                    RewriteEngine On
                    Require all granted
                    Options -Indexes +FollowSymLinks
            </Directory>
    </VirtualHost>
    <VirtualHost *:443>
         DocumentRoot /var/www/html/mysite.com
         ServerName mysite.com
         ServerAlias www.mysite.com
         SSLEngine on
         SSLCertificateFile /usr/local/ssl/public.crt
         SSLCertificateKeyFile /usr/local/ssl/private/private.key
         SSLCACertificateFile /usr/local/ssl/intermediate.crt
    </VirtualHost>
    
    步骤4 在连接了EC2实例的负载平衡器上创建侦听器。侦听器用于HTTPS和端口443。侦听器将请求一个证书,并且已经列出了您从aws cli添加的证书。如果未列出,请注销AWS控制台并重新登录

    之后,通过HTTPS的流量将开始流向您的EC2实例


    我遇到了类似的问题,并在这里发布了我的问题和答案:

    嘿,请检查mod ssl是否已启用?您使用的是哪种操作系统Linux?该系统是amazon VPC基本设置。我猜那是linux,但我不允许用油灰进入。这是不是一个有弹性的豆茎?请告诉我清楚的细节,那是弹性豆茎。我们使用ec2控制台平台创建Amazon Linux AMI。您的web服务器设置是在端口443上响应,还是希望终止负载平衡器上的SSL会话,然后在端口80上向web服务器传递流量?嘿,请检查是否启用了mod SSL?您使用的是哪种操作系统Linux?该系统是amazon VPC基本设置。我猜那是linux,但我不允许用油灰进入。这是不是一个有弹性的豆茎?请告诉我清楚的细节,那是弹性豆茎。我们使用ec2控制台平台创建Amazon Linux AMI。您的web服务器设置是在端口443上响应,还是希望在负载平衡器上终止SSL会话,然后在端口80上将流量传递给web服务器?