nginx 反向代理 常见错误处理

本文介绍如何利用Nginx实现反向代理,解决内外网分离环境下特定端口访问的问题。文中详细记录了配置过程中遇到的问题及解决方法,包括正确设置头部信息避免404错误、WebSocket特殊配置及跨域问题。

    由内外网分离,只有某台服务的某几个端口是外网可以访问,若需要从外网访问我内网的搭建的服务,此时我们需要借助nginx反向代理功能,nginx作为反向代理服务,通过外网指定端口透射到内网,并代理内网的服务。

    在使用的过程中,出现的几个问题,以及解决方案

一、配置nginx.conf ,导致ip和port被替换成代理的服务名http://neb ,而不是实际的ip和地址

      

       问题:访问122.224.0.0:9400 , 但被转成了http://confluence/admin,导致请求的资源返回404

       解决:proxy_set_header X-Forwarded-Host $host;
                 proxy_set_header X-Forwarded-Server $host;

                 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

                 proxy_set_header Host $host:$server_port; 

二、nginx代理websocket需要特殊的配置

       proxy_set_header Upgrade $http_upgrade;

       proxy_set_header Connection "upgrade";       

三、nginx代理websocket,返回403错误

      

       权限访问问题

       解决:在配置文件中增加

               proxy_set_header Origin "";

四、nginx反向代理,跨域配置

       add_header Access-Control-Allow-Origin *;  
       add_header Access-Control-Allow-Credentials true;
       add_header Access-Control-Allow-Methods GET,POST,OPTIONS;



注:关于这些没有研究原理,仅记录问题的解决方法



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值