各位大佬请求帮助!
公司网络是内网,前端服务部署在内网服务器 A ,后端服务部署在内网服务器 B.
寻找公司 IT 开放服务器 A 的端口映射至外网,发现 在外网地址访问时 使用 PUT/DELETE 请求被限制,报错:net::ERR_CONNECTION_RESET 。
但在内网地址访问时,各种请求方法都正常。
网上查阅发现是防火墙限制的问题,如下述 - https://gitee.com/y_project/RuoYi-Vue/issues/I4NFP2 - https://github.com/acm309/PutongOJ/issues/4
方向是需要在防火墙开放 PUT/DELETE 方法。由于公司没有运维,查询不得其法。询问 IT 说他那边只能设置映射端口,并没有防火墙设置。
这个设置是在服务器上可以解决吗,如果设置是服务器 A 还是 B ?还是无法解决只能全改为 POST 了?= =
卑微前端,在线求助!(在站内也搜到了关于 restful 的争论,不争论什么好什么不好安不安全,解决问题就好,走过路过给点建议 QAQ
1
NessajCN 2022-11-01 17:01:36 +08:00
防火墙没法判断是不是 PUT/DELETE 的
你应该去检查下是不是 api 里没写怎么处理这两种请求 |
3
Kinnice 2022-11-01 17:12:02 +08:00
被公司内 waf 拦截了吧,改路由吧
|
4
humbass 2022-11-01 17:23:58 +08:00 1
前端掌握一些基础的 linux 知识还是有必要的:
1 、先尝试 frp 转发的形式暴露服务 https://github.com/fatedier/frp 2 、暴力组网,使用 wireguard https://github.com/WireGuard 服务器端用 nginx 反向代理即可 以上两者都需要远程的服务器,以及本地服务器操作权限 |
5
wdwwtzy 2022-11-01 17:26:29 +08:00
是的,我记得某些 waf 是可以拦截 http 方法的。
而且,我某一家公司的 sb 网关确实是这么做的,然后说 put/delele 方法不安全,所以要关闭🙂 |
6
zoeliu OP @humbass 谢谢你。但是公司内网做外网映射要提工单。私自设置内网风险太大了把。
目前前端还有个中间层,整体代码是供应商做的,供应商的一套 koa 的三方库,代理不太好改。 如果直接是 nginx 我可以改 |
7
ysc3839 2022-11-01 18:44:01 +08:00
你能改代码的话建议改成 POST ,或者用 https ?
|
8
CheckTime 2022-11-01 19:53:22 +08:00
前端请求根据不同方法加 header ,nginx 根据 header 中某个变量的值修改 method 。
具体可以看这个连接 https://blog.csdn.net/weixin_53458434/article/details/118673550 |
9
CheckTime 2022-11-01 19:55:39 +08:00
@CheckTime 如果是封装了请求方法的话就很容易改,直接在封装好的 putAction ,deleteAction, httpAction 等请求中根据 method 加个 header 就行
|
10
mikewang 2022-11-01 21:54:32 +08:00 via iPhone
为何不使用 https ?
|
12
zoeliu OP @CheckTime 文章看过了。没有用 nginx ,加了一层 koa ,看看能不能转换 method🤐
谢谢 |
14
Xusually 2022-11-01 22:22:15 +08:00 via iPhone
大概率是 waf 或者前端负载均衡入口比如 kong 之类的没有开启 put/delete
|
15
lower 2022-11-01 23:35:24 +08:00
前段时间也遇到这个问题了;
解决办法很暴力:直接把 put delete 改成 post 了,批量替换其实也还好,没花多长时间,👿 |