如何验证服务器是不是可以在端口 80 和 443 上发出出站请求?

Posted

技术标签:

【中文标题】如何验证服务器是不是可以在端口 80 和 443 上发出出站请求?【英文标题】:How to verify if server can make outbound requests on port 80 and 443?如何验证服务器是否可以在端口 80 和 443 上发出出站请求? 【发布时间】:2010-12-01 19:45:42 【问题描述】:

关于this question on an openid issue,有人让我检查我的服务器是否能够在端口 80 和 443 上发出出站请求。

你能告诉我如何验证吗?服务器是:

Apache/2.0.63 (Unix) mod_ssl/2.0.63 OpenSSL/0.9.8e-fips-rhel5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 php/5.2.8  

更多信息请通过 php_info() here。

【问题讨论】:

【参考方案1】:

通过尝试使用 php 的 curl 函数在其他服务器(例如 Google)上获取网页来验证它。 80 端口是 HTTP,443 端口是 HTTPS。

【讨论】:

好的,试过了。我可以毫无问题地获取 http url,但每次使用 https url 都会失败。所以我想我的服务器无法在端口 443 上发出出站请求。谢谢!【参考方案2】:

如果您对盒子有 shell 访问权限,您可以简单地尝试以下之一:

1) "wget http://www.google.com"(应该创建一个名为 index.html 的文件,其中包含 google 主页的源代码)

2) “telnet google.com 80”,它应该会产生一些表明您已连接到 google.com 的输出。尝试输入“GET /”,然后返回。你应该会看到谷歌主页代码飞过。

如果您没有 shell 访问权限,请按照 derobert 的建议进行操作,使用 php 的内置 curl 函数并尝试建立连接。

【讨论】:

以上是关于如何验证服务器是不是可以在端口 80 和 443 上发出出站请求?的主要内容,如果未能解决你的问题,请参考以下文章

Nginx如何配置多个服务域名解析共用80端口详解

如何关闭”80“和“443”端口占用问题解决办法

如何关闭”80“和“443”端口占用问题解决办法

Nginx配置多个服务共用80端口

除了 80 / 443 之外,我可以为 Kubernetes 入口设置自定义端口以侦听吗?

如果没有在 API 请求中指定端口号,服务器如何决定该请求是针对端口 80 还是 443