Docker拒绝端口443上的连接

时间:2019-04-02 08:11:15

标签: docker amazon-ec2 caddy caddyfile

我正在设置我的AWS EC2实例。我想让该实例通过https访问,但我得到了

这是我尝试过的

运行docker pull abiosoft/caddy

将Caddyfile放在主文件夹中

运行mkdir -p $HOME/caddycerts; chmod ugo+rwx $HOME/caddycerts;

运行docker run -d -e "CADDYPATH=/etc/caddycerts" -v $HOME/Caddyfile:/etc/Caddyfile -v $HOME/caddycerts:/etc/caddycerts -p 443:443 abiosoft/caddy

运行docker restart *dockerName*

我的Caddyfile看起来像这样:

some-domain-name.com {
    tls myemail
    proxy / 172.17.0.1:9001 {
        header_upstream Host {host}
        header_upstream X-Real-IP {remote}
        header_upstream X-Forwarded-Proto {scheme}
    }
}

错误:curl:(7)无法连接到some-domain-name.com端口443:连接被拒绝

EC2实例的安全组已为端口https启用了443

3 个答案:

答案 0 :(得分:0)

在使用AWS时,请确保允许使用您正在使用的端口,并且您有权使用它

答案 1 :(得分:0)

AWS安全组和ACL不会拒绝连接,它们会静默丢弃数据包。从消息连接被拒绝来看,似乎服务未运行或服务器未在端口443上侦听。 您是否尝试过在本地进行telnet?可以吗?

  

telnet本地主机443

答案 2 :(得分:0)

Error: curl: (7) Failed to connect to some-domain-name.com port 443: Connection refused

以上错误消息表示您的Web服务器未在指定的443端口上运行。您可以简单地通过telnet进行验证(我在上面的James回答中看到)。

从您的caddyfile指向端口9001。Caddyfile的第一行始终是要服务的站点的地址。

很难看到dockerfile,但我想说的是您的应用程序中没有配置为在443上运行的东西