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

这篇具有很好参考价值的文章主要介绍了PUT和DELETE部署在内网服务器后 外网无法请求的问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

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

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

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

一个web项目,本地可以调用update和delete请求,远程不能调用update和delete,服务器,运维,http

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

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

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

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

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

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

一个web项目,本地可以调用update和delete请求,远程不能调用update和delete,服务器,运维,http

直接开始动手尝试

在内网服务器的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

一个web项目,本地可以调用update和delete请求,远程不能调用update和delete,服务器,运维,http

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

Request Headers

一个web项目,本地可以调用update和delete请求,远程不能调用update和delete,服务器,运维,http

POST请求成功!

一个web项目,本地可以调用update和delete请求,远程不能调用update和delete,服务器,运维,http

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

DETELE接口下参数为 Query

一个web项目,本地可以调用update和delete请求,远程不能调用update和delete,服务器,运维,http

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

一个web项目,本地可以调用update和delete请求,远程不能调用update和delete,服务器,运维,http

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

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

一个web项目,本地可以调用update和delete请求,远程不能调用update和delete,服务器,运维,http

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

如果遇到相同问题,希望这篇文章能够帮助到你文章来源地址https://www.toymoban.com/news/detail-783181.html

到了这里,关于PUT和DELETE部署在内网服务器后 外网无法请求的问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 在服务器上部署gradio demo,外网可以通过服务器ip访问

    因为业务需要提供一个可持续性访问的链接,所以gradio提供的临时链接(share=True)不能用。 用下面的代码即可部署到服务器IP。 注意: 在执行gradio时用screen挂后台。不要在vscode的terminal中启动。 如果遇到提交后出现422 error的情况,,可能是gradio版本问题,需要升级到3.36.1。

    2024年02月15日
    浏览(64)
  • docker搭建minio服务器,解决内网穿透后外网无法访问问题

    搭建MinIo 内部搭建的MinIo服务器映射到外网后访问文件资源一直报认证异常,经资料查阅minio有自己一套加密校验逻辑,访问时不可改动其桶名 解决内网穿透minio访问异常问题 通过nginx进行代理,代理时不改变访问路径,外网映射时映射nginx的代理地址 修改Nginx配置

    2024年02月11日
    浏览(48)
  • windows2012部署的WSUS服务器无法连接微软服务器无法同步

    同步时,出现HTTP错误,详细信息如下: WebException: 基础连接已经关闭: 发送时发生错误。 --- System.IO.IOException: 无法从传输连接中读取数据: 远程主机强迫关闭了一个现有的连接。。 在 System.Web.Services.Protocols.WebClientProtocol.GetWebResponse(WebRequest request)    在 System.Web.Services.Protoc

    2024年02月08日
    浏览(49)
  • docker部署,服务器本地访问正常,无法通过ip+端口访问

    在服务器使用docker部署应用的时候,网站本地访问正常,但是无法使用IP地址访问,防火墙端口已经放行(本人服务器系统CentOS 7) 经过一番查找,发现Linux系统中有一个net.ipv4.ip_forward参数,可以设置为0和1 出于安全考虑,Linux系统默认是禁止数据包转发的。所谓转发即当主机

    2024年02月13日
    浏览(60)
  • 解决websocket在部署到服务器https下无法使用的问题

    目录 一、问题 1.1 问题描述 1.2 问题详细描述 二、解决 2.1 https下的链接类型 2.2 修改Nginx的配置 一个小项目中使用到了websocket,这个websocket在本地完全是完全正常运行的,不管是 前后台的信息通讯  还是 异常报错接收 , 无任何异常 ,但当把后台代码部署到阿里云服务器后

    2024年02月09日
    浏览(32)
  • 解决Spring Boot 2.7.16 在服务器显示启动成功无法访问问题:从本地到服务器的部署坑

    🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 🌊 《IDEA开发秘籍专栏》学会IDEA常用操作,工作效率翻倍~💐 🌊 《100天精通Golang(基础入门篇)》学会Golang语言

    2024年02月07日
    浏览(65)
  • 机房服务器连外网

    方法一:手机USB线共享网络给服务器。 请选用质量好一点的最好是认证的USB数据线,如果数据线只能充电的话,可能会导致无法共享网络给服务器, 需要自备一根USB数据线 安卓手机 1.小米手机设置,手机接数据线,将手机数据线连接上服务器或电脑的USB接口,在手机界面上

    2024年02月13日
    浏览(42)
  • Linux内网服务器通过代理访问外网服务器

    目录 一、环境介绍 二、安装squid 三、配置代理 扩展一、JAVA应用通过代理访问外网 扩展二、通过nginx代理实现yum跳转 扩展三、代理harbor镜像方式访问 192.168.7.131可以通外网 192.168.7.129不通外网 需要通过代理的方式实现192.168.7.129可以访问外网  1、在192.168.7.131主机(可以访问外

    2024年02月08日
    浏览(51)
  • 外网ssh远程连接服务器

    同一个局域网内远程ssh连接服务器,只需要知道服务器的IP地址就可以实现连接。但是在不同的局域网下,我们想要通过 外网远程连接服务器 (应用场景:在家远程连接公司的服务器,在家远程连接学校实验室的服务器…)应该如何实现呢? 原理: 通过 内网穿透 实现ssh远

    2024年01月25日
    浏览(62)
  • 华为防火墙USG6000V---内网访问外网---外网访问内网服务器(NAT服务器)示例配置

      目录 一、配置要求  二、配置步骤 1. ping通防火墙接口IP地址的条件 2. 内网ping通外网终端的条件 3. 内网ping通DMZ(内网服务器)的条件 三、命令解析 内网可以ping通防火墙; 内网可以访问外网; 外网可以访问内网服务器。 1. ping通防火墙接口IP地址的条件 配置接口IP地址;

    2024年02月04日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包