我正在设置我的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
当您使用AWS时,请确保允许您使用的端口,并且您有权使用它
AWS安全组和ACL不会拒绝连接,它们会以静默方式丢弃数据包。从消息连接拒绝,似乎服务没有运行或服务器没有侦听端口443.您是否尝试在本地telnet它?它有用吗?
telnet localhost 443
Error: curl: (7) Failed to connect to some-domain-name.com port 443: Connection refused
上面的错误消息表示您的Web服务器未在443的指定端口上运行。您可以通过telnet进行验证(我在上面的James的答案中看到)。
从你的caddy文件它指向端口9001.Caddyfile的第一行始终是要服务的站点的地址。
在没有看到dockerfile的情况下很难确定,但我会说你的应用程序中没有任何配置可以在443上运行