我的编程空间,编程开发者的网络收藏夹
学习永远不晚

PUT和DELETE部署在内网服务器后 外网无法请求的问题

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

PUT和DELETE部署在内网服务器后 外网无法请求的问题

PUT和DELETE部署在内网服务器后 外网无法请求的问题

这问题困扰我好几天,本身就不是搞运维的,且实习时长 俩年半 半年的小辣鸡, 被赶鸭子上架

系统部署在甲方的内网服务器里,然后他们通过VLAN穿透到外网访问(我也听不懂是什么意思)

系统部署在内网服务器后,登录上去康康,发现在外网情况下有些接口可以使用有些不能使用

报错一直都是500

错误都是 500 ,百思不得其解,遂于晚上问了师兄,然后排查出问题可能是存在服务器那边不接收PUT和DELETE的请求的情况

在控制台的Network中,发现post和get请求完全可以,而PUT和DELETE请求一直报500

隔天找了甲方管理服务器的人,说明了一下情况,他们居然问我,什么是PUT和DELETE?

本因昨晚找到可能原因的好心情在这一瞬间裂开。

无奈之下只能在百度看看有什么解决方法

随后就发现了这篇文章 ! https://blog.csdn.net/weixin_45552405/article/details/121905843

在这里插入图片描述

直接开始动手尝试

在内网服务器的nginx的server中填加了以下的东西

server {        set $method $request_method;        if ($http_X_HTTP_Method_Override ~* 'DELETE') {          set $method DELETE;        }        if ($http_X_HTTP_Method_Override ~* 'PUT') {          set $method PUT;        }        proxy_method $method;        }

开始修改前端代码

将所有 delete 和 put 接口都改成 post
然后在对应的请求上加上 (原本是PUT就加PUT)
Header:X-HTTP-Method-Override: PUT

Header:X-HTTP-Method-Override: DELETE

看个人项目请求的方式去添加哈,以下作为参考

put请添加图片描述

delete

请添加图片描述

修改好后开始测试
在Request Headers中有了 X-HTTP-Method-Override: PUT ,原本PUT的请求变成了POST,而且能够成功去访问修改数据!

Request Headers

请添加图片描述

POST请求成功!

在这里插入图片描述

然而DELETE出了问题,还是无法调用到接口
疯狂看 NetWork看看到底问题在哪里
发现是参数出了错误

DETELE接口下参数为 Query

请添加图片描述

而修改成POST时,参数变成了 Body

请添加图片描述

修改一下对应的接口参数就OK了

下面是我对这个解决方法的理解

请添加图片描述

文章最后感谢一下帮助我的朋友以及引用文章的大佬

如果遇到相同问题,希望这篇文章能够帮助到你

来源地址:https://blog.csdn.net/weixin_52531602/article/details/128241072

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

PUT和DELETE部署在内网服务器后 外网无法请求的问题

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

解决外网无法访问云服务器内网的问题

1.确认网络配置首先,我们需要确认云服务器的网络配置是否正确。确保以下几点:云服务器的公网IP地址是否正确配置。云服务器的安全组规则是否允许外部访问。云服务器的网络ACL是否允许外部访问。如果以上配置都正确,但仍然无法访问内网,那么可能是其他问题导致的。2.检查路由器配置如果你的云服务器是通过路由器连接到互联网的,那么
2023-10-27

阿里云服务器内网映射:解决外网无法访问的问题

1.什么是内网映射?内网映射是一种将内网服务器的服务映射到公网上的技术。在阿里云服务器中,内网映射可以帮助我们解决外网无法直接访问内网服务器的问题。2.如何进行内网映射?在阿里云服务器上进行内网映射,我们可以使用阿里云提供的NAT网关服务。NAT网关是一种将私有IP地址转换为公有IP地址的设备,可以实现内网服务器的服务
阿里云服务器内网映射:解决外网无法访问的问题
2023-10-28

解决阿里云服务器内存升级后无法访问网页的问题

1.检查服务器配置首先,确保你的服务器配置正确。检查服务器的内存升级是否成功,并确保服务器已经重新启动。如果服务器没有正确启动,你可以尝试重新启动服务器。2.检查网络连接如果服务器配置正确,但仍然无法访问网页,那么可能是网络连接的问题。检查服务器的网络连接是否正常。你可以尝试使用ping命令来测试服务器是否能够正常连接
解决阿里云服务器内存升级后无法访问网页的问题
2023-10-28

SQLServer 错误 1418 服务器网络地址 “%.*ls” 无法访问或不存在。 请检查网络地址名称,并检查本地和远程端点的端口是否正常运行。 故障 处理 修复 支持远程

详细信息 Attribute 值 产品名称 SQL Server 事件 ID 1418 事件源 MSSQLSERVER 组件 SQLEngine 符号名称 DBM_PARTNERNOTFOUND 消息正文 ...
SQLServer 错误 1418 服务器网络地址 “%.*ls” 无法访问或不存在。 请检查网络地址名称,并检查本地和远程端点的端口是否正常运行。 故障 处理 修复 支持远程
2023-11-05

编程热搜

目录