我是服务器管理的新手,决定通过部署自己的网站来学习:D
问题可能是我错误配置了 iptables/配置不够。
我有一个在端口 8080 上运行的节点应用程序(https 服务器,证书运行良好)
我运行sudo iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
重新路由进入 80 端口的所有流量到 8080 - 这对普通http
服务器有效 -> 我可以去www.example.com没有问题。
tcp跟踪路由
tcptraceroute 159... 80
Selected device lo, address 159, port 35499 for outgoing packets
Tracing the path to 159 on TCP port 80 (http), 30 hops max
1 ubuntu-main (159) [closed] 0.178 ms 0.064 ms 0.142 ms
(如果有帮助我可以提供域名/ IP 地址)
网络状态监测
[sudo] password for twiggeh:
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN 531/systemd-resolve
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 675/sshd: /usr/sbin
tcp 0 0 127.0.0.1:42143 0.0.0.0:* LISTEN 950/node
tcp6 0 0 :::22 :::* LISTEN 675/sshd: /usr/sbin
tcp6 0 0 :::8080 :::* LISTEN 1279/node
iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
答案1
https 流量的默认端口是 443,而不是未加密的 http 流量的 80。如果您不想在后面输入端口号https://www.example.com
,则应将流量从端口 8080 重定向到端口 443,而不是 80。