如何在 centos 5.3 上打开传出端口?

如何在 centos 5.3 上打开传出端口?

Iptables 让我很困惑,有人可以给我一个命令来从服务器的端口 443 打开传出的 ssl 连接吗?

它由服务器上的脚本使用,目前,当我在端口 80 上执行它时,它工作正常,在端口 443 上它只是挂起,所以我假设端口没有为传出连接打开。

答案1

在 /etc/sysconfig/iptables 中添加行:

-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 443 -j ACCEPT

并运行命令:

iptables -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 443 -j ACCEPT

答案2

假设你在自己的服务器上运行了一个脚本,该脚本正在与 1)远程 Web 服务器建立某种连接,该服务器的 http 端口为 80,https 端口为 443;或者 2)该脚本正在连接回本地服务器上运行的 Web 服务器,该服务器的端口为 80 或 443

根据您的描述,“在端口 443 上它只是挂起”,您能够与端口 443 建立 TCP 连接,但不知何故 SSL 协议协商失败或出现其他问题。

为了测试这一点,您可以从命令行执行类似这样的操作;

# telnet www.yourservergoeshere.com 443
Trying 74.125.227.18...
Connected to www.l.google.com.
Escape character is '^]'.

并查看它是否真正连接到远程 443 端口。如果您收到以下消息

connected to www.someserver.com

那么问题就不在于你的 iptables。

如果是这样,则更可能是你的脚本无法使用 SSL/HTTPS

如果您的 iptables 的默认 INPUT 规则是 DROP,那么您的脚本可能会在等待 TCP 超时长度之后才无法连接。

相关内容