我正在尝试使用 HTTPS 上线一个网站。我已仔细检查了 AWS 安全组,一切正常。
我在 Node.JS 上运行,这是应用程序脚本,所以我很确定它在端口 443 上运行。
https.createServer(options, app)
.listen(443)
.on('error', onError)
.on('listening', onListening);
iptables
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:80
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:443
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:443
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp spt:22
ss-tlnp
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:22 *:*
LISTEN 0 128 :::22 :::*
LISTEN 0 128 :::443 :::*
问题是我无法访问网站,并且办理登机手续时telnet
连接被拒绝,https://networkappers.com/tools/open-port-checker意思是:174.129.96.89 port-443 被阻止
我是不是漏掉了什么?我已经开具了票据,但到现在还没有答复。
答案1
我很确定你的 iptables 规则设置不正确。以下是HTTP 和 HTTPS 的正确规则. 相关规则摘自参考:
sudo iptables -A INPUT -p tcp --dport 80 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
sudo iptables -A OUTPUT -p tcp --sport 80 -m conntrack --ctstate ESTABLISHED -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
sudo iptables -A OUTPUT -p tcp --sport 443 -m conntrack --ctstate ESTABLISHED -j ACCEPT