php - 一些激进的代理会阻止不在端口 80 或 443 上的流量

标签 php proxy websocket client-server ratchet

标题是从 documentation of Ratchet 复制粘贴的(一个 PHP 库,用于通过 Websockets 在客户端和服务器之间提供通信)。

Some aggressive proxies will block traffic that isn't on port 80 or 443 (not many, research your target audience)



这里的代理是什么意思?网络通信链中的代理位置是什么?客户端?在中间网络的某个地方?如何知道我的听众是否有这个问题。有人可以用外行的话解释一下这是什么意思。我预先非常感谢你让我理解这个重要的概念。

最佳答案

代理服务器是通常放置在企业网络和类似网络中以控制 Web 访问的网络设备。有两种类型的代理:显式代理和透明代理。第一个是客户端应用程序配置为使用代理 IP 或主机和服务端口(通常为 8080),后者是客户端应用程序不知道并且传出流量通过基于策略的方式到达它的地方路由或使用专用协议(protocol),例如 WCCP。

在任何一种情况下,行为都是相同的,您在网络中有一个设备正在执行应用程序层访问控制,并且通常(除非另有配置)它们将仅允许访问监听端口的服务器:80 用于 HTTP 协议(protocol),443 用于 HTTPS协议(protocol),它们是这些协议(protocol)的默认服务端口。

文档试图说的是,您应该让服务器端服务或应用程序监听这些端口之一,以避免出现由于在其网络中使用代理服务器而导致来自某些客户端的连接被阻止的情况。

您的客户端可能会通过观察 Windows 计算机上的 Internet 设置 > Lan 设置来检测是否正在使用代理:

internet settings > Lan settings

对于透明代理,事情会复杂得多,因为客户端不知道代理的存在,在最坏的情况下,透明代理将通过检查数据包捕获来检测,您可能会发现身份验证请求或一些通常不存在的 header ,如果有的话在网络中没有代理。

关于php - 一些激进的代理会阻止不在端口 80 或 443 上的流量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38799595/

相关文章:

ruby-on-rails - Gitlab 加载时出现错误 502...这正常吗?

php - 如何计算与连接中另一行专门匹配的条目

javascript - 使用 ajax 使用来自 php 页面的数据填充引导模式

php - 如何在 WordPress 管理员的子菜单中创建多个子菜单?

php - Laravel 5 中 RouteCollection.php 中的 MethodNotAllowedHttpException

javascript - 无卡顿体验和 websocket

nginx - 当原点关闭时在重试之间添加延迟(Nginx,502)

proxy - Nexus (proxy)Repository Connection pending on remote storage 和 404 on repository acces

sockets - node.js/socket.io 是否有最大消息/事件大小

javascript - 使用 Fleck 的 WebSocket。 WSS