【问题标题】:nodejs server doesn't respond when clients use vpn or proxy当客户端使用 vpn 或代理时,nodejs 服务器没有响应
【发布时间】:2020-12-18 08:05:50
【问题描述】:

我有一个简单的 noedjs 服务器在我的服务器的 3001 端口上运行

我在我的网站旁边使用这个 nodejs 服务器,它通过一些网络服务器在端口 80 上运行(不确定其他人做了什么配置)

你可以在这里访问我的nodejs服务器

http://88.198.164.43:3001/

问题是当客户端使用 vpn 或代理时,端口 3001 上的 nodejs 服务器停止响应 我得到了类似的东西

ERROR
The requested URL could not be retrieved
The following error was encountered while trying to retrieve the URL: http://88.198.164.43:3001/

Access Denied.

有什么解决办法吗?

问题 2 解决了 @charlietfl 的评论

【问题讨论】:

  • 在 php 中使用正则表达式并返回一个 json 响应供 js 使用。如果以某种方式将恶意代码放入其中并且您的用例不需要使用 eval() 执行此操作是危险的
  • 我仍然可以通过 VPN 向您的节点服务器发送请求

标签: javascript node.js http server centos


【解决方案1】:

如果您的 VPN/代理集成了防火墙,它可能只是不允许连接到大多数不寻常的端口。 (3001 与 80 相比是不常见的,例如,在不失去对世界上所有网站的访问权限的情况下无法被阻止)

验证这一点的最佳选择是使用反向代理,在 apache 或 nginx 上尝试将 3001 端口映射到 80 端口,但使用不同的 url。

示例:88.198.164.43/node ---proxying---> 88.198.164.43:3001

查看 apache 的配置:https://stackoverflow.com/a/52185402/3415561

或者 nginx 的配置:https://stackoverflow.com/a/10375750/3415561

【讨论】:

    猜你喜欢
    • 2021-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多