我正在设置我的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
答案 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上运行的东西