HOME 首页
SERVICE 服务产品
XINMEITI 新媒体代运营
CASE 服务案例
NEWS 热点资讯
ABOUT 关于我们
CONTACT 联系我们
创意岭
让品牌有温度、有情感
专注品牌策划15年

    nginx转发内网到外网(nginx转发外部地址)

    发布时间:2023-03-12 22:10:17     稿源: 创意岭    阅读: 123        问大家

    大家好!今天让创意岭的小编来大家介绍下关于nginx转发内网到外网的问题,以下是小编对此问题的归纳整理,让我们一起来看看吧。

    ChatGPT国内免费在线使用,一键生成原创文章、方案、文案、工作计划、工作报告、论文、代码、作文、做题和对话答疑等等

    只需要输入关键词,就能返回你想要的内容,越精准,写出的就越详细,有微信小程序端、在线网页版、PC客户端

    官网:https://ai.de1919.com

    本文目录:

    nginx转发内网到外网(nginx转发外部地址)

    一、Nginx转发出现502的问题

    nginx转发内网时候会出现502的问题,解决方法如下:

    执行如下命令打开:

    /usr/sbin/setsebool httpd_can_network_connect true

    写入配置文件

    setsebool -P httpd_can_network_connect=1

    问题解决

    二、Nginx配置location进行接口转发

    生产环境中,用户首先访问网站的域名,然后由Nginx监听 80 端口对请求进行转发。

    例如用户发起以下请求查询汇率数据:

    http://[WEB_DOMAIN]/api/v1/runtime/exchange

    经过Nginx处理后到达服务端的请求则是这样的:

    http://[host:port]/v1/runtime/exchange

    这个请求再经过微服务的网关,找到 runtime 服务,就会访问路由为 /exchange 的接口。

    了解了这个后,我们来处理需求。

    跟coupons服务接口侧商定,所有关于coupons服务的接口均采用 applcationCode 和 coupons 参数进行路由映射.

    举个例子:该服务部署在192.168.31.2下的8085端口,提供了一个查询接口,那么应该是这种规则:

    http://192.168.31.2:8085/runtime/coupons/data

    此时,前端依然保持系统原有风格进行api调用:

    http://www.baidu.com/api/v1/runtime/coupons/data

    那么如何实现访问 http://www.baidu.com/api/v1/runtime/coupons/data 跳转到 http://192.168.31.2:8085/runtime/coupons/data 呢?

    这样,就可以使用nginx对coupons服务接口进行转发了

    三、nginx.conf 配置详解

    这里我给来2张图,对 正向代理 (正向代理类似一个跳板机,代理访问外部资源,内->外)与 反响代理 (代理将来自外网客户端的请求转发到内网服务器,外->内)做个诠释。

    总结

    正向代理即是客户端代理, 代理客户端, 服务端不知道实际发起请求的客户端.

    反向代理即是服务端代理, 代理服务端, 客户端不知道实际提供服务的服务端

    Nginx在做反向代理时,提供性能稳定,并且能够提供配置灵活的转发功能。Nginx可以根据不同的正则匹配,采取不同的转发策略,比如图片文件结尾的走文件服务器,动态页面走web服务器,只要你正则写的没问题,又有相对应的服务器解决方案,你就可以随心所欲的玩。并且Nginx对返回结果进行错误页跳转,异常判断等。如果被分发的服务器存在异常,他可以将请求重新转发给另外一台服务器,然后自动去除异常服务器。

    Nginx提供的负载均衡策略有2种:内置策略和扩展策略。内置策略为轮询,加权轮询,Ip hash。扩展策略,就天马行空,只有你想不到的没有他做不到的啦,你可以参照所有的负载均衡算法,给他一一找出来做下实现。

    上3个图,理解这三种负载均衡算法的实现

    Ip hash算法,对客户端请求的ip进行hash操作,然后根据hash结果将同一个客户端ip的请求分发给同一台服务器进行处理,可以解决session不共享的问题。

    Nginx可以对不同的文件做不同的缓存处理,配置灵活,并且支持FastCGI_Cache,主要用于对FastCGI的动态程序进行缓存。配合着第三方的ngx_cache_purge,对制定的URL缓存内容可以的进行增删管理。

    默认的config(nginx.conf里面使用incloud包含conf.d下的配置文件)

    nginx.conf:

    config.d/default.conf:

    1、全局块:配置影响nginx全局的指令。一般有运行nginx服务器的用户组,nginx进程pid存放路径,日志存放路径,配置文件引入,允许生成worker process数等。

    2、events块:配置影响nginx服务器或与用户的网络连接。有每个进程的最大连接数,选取哪种事件驱动模型处理连接请求,是否允许同时接受多个网路连接,开启多个网络连接序列化等。

    3、http块:可以嵌套多个server,配置代理,缓存,日志定义等绝大多数功能和第三方模块的配置。如文件引入,mime-type定义,日志自定义,是否使用sendfile传输文件,连接超时时间,单连接请求数等。

    4、server块:配置虚拟主机的相关参数,一个http中可以有多个server。

    5、location块:配置请求的路由,以及各种页面的处理情况。

    四、在内网通过nginx可以外网访问指定的网站,只能访问这一个网站。

    nginx比较适用作反向代理服务器,不过也支持正向代理

    作为正向代理服务器,可以参考下这篇博客

    Linux服务器通过Nginx正向代理上网

    详细了解nginx的正向反向代理信息,可以参考这两篇博客

    nginx功能图解

    nginx快速搭建及常用命令,策略配置,错误排查方法

    以上就是关于nginx转发内网到外网相关问题的回答。希望能帮到你,如有更多相关问题,您也可以联系我们的客服进行咨询,客服也会为您讲解更多精彩的知识和内容。


    推荐阅读:

    bing和edge软件(bing和edge有什么区别)

    messenger收不到验证码(为什么messenger收不到图片)

    CAM是什么意思(camping是什么意思)

    奉贤喷泉景观设计电话(奉贤区有玩水的地方吗)

    网店网络营销策略(网店网络营销策略开题报告)