Mat*_*itz 1 ssl amazon-web-services amazon-elb
我正在尝试为我的网站设置 SSL 证书。但是我的网站this site can't be reached在 Chrome 中响应。
在证书管理器中,它显示我的证书的关联资源是我的 ELB。ELB 设置为 HTTPS,端口 443。其目标组是 HTTP,端口 80。该站点在浏览 http/80 时正常工作。我在想我的设置意味着用户点击 HTTPS ELB,然后 ELB 将使用端口 80 为我的网站提供服务。
httpstat https://www.ereverse.com 输出:
> curl -w <output-format> -D <tempfile> -o <tempfile> -s -S ereverse.com curl error: curl: (7) Failed to connect to www.ereverse.com port 443: Connection refused
Run Code Online (Sandbox Code Playgroud)
我还应该注意到我的应用程序是通过 docker 运行的,它正在运行,-p 80:5000并且Dockerfilehas EXPOSE 80 443。
基于此错误,假设您的 ELB 在端口 443 上有一个侦听器...
Connection refused
Run Code Online (Sandbox Code Playgroud)
...最明显的解释是您的 DNS 实际上并未指向 ELB。使用dig或nslookup进行验证。
配置了侦听器的 ELB 不会拒绝连接。安全组和网络 ACLS 也不会拒绝连接——如果错误配置,你得到的结果将是Connection timed out,因为它们通过丢弃来拒绝流量——而不是通过强行关闭连接尝试,这Connection refused意味着:连接成功了到另一端的服务器的方式,它主动返回一条消息(实际上)说:“我不知道为什么你认为我想在端口 443 上通话。没有在该端口上侦听的东西,在这里。”
轻松检查:使用 HTTPS 直接连接到 AWS 控制台中显示的 ELB 主机名。您应该会看到证书警告,因为证书不匹配。如果发生这种情况,则 ELB 已启动并正在侦听,并且表明 DNS 条目直接指向您的实例,而不是平衡器。
| 归档时间: |
|
| 查看次数: |
2701 次 |
| 最近记录: |