Nginx反向代理入门实战指南

 更新时间:2021年08月19日 10:09:34   作者:QiShare  
反向代理:反向代理也叫reverse proxy,指的是代理外网用户的请求到内部的指定web服务器,并将数据返回给用户的一种方式,这是用的比较多的一种方式,下面这篇文章主要给大家介绍了关于Nginx反向代理的相关资料,需要的朋友可以参考下

概述

Nginx反向代理(Reverse Proxy):反向代理是指服务器根据客户端的请求,从其关系的一组或多组后端服务器(如Web服务器)上获取资源,然后再将这些资源返回给客户端,客户端只会得知反向代理的IP地址,而不知道在代理服务器后面的服务器簇的存在。

反向代理的作用

  • 对客户端隐藏服务器(集群)的IP地址
  • 安全:作为应用层防火墙,为网站提供对基于Web的攻击行为(例如DoS/DDoS的防护,更容易排查恶意软件等
  • 为后端服务器(集群)统一提供加密和SSL加速(如SSL终端代理)
  • 负载均衡,若服务器集群中有负荷较高者,反向代理通过URL重写,根据连线请求从负荷较低者获取与所需相同的资源或备援
  • 对于静态内容及短时间内有大量访问请求的动态内容提供缓存服务
  • 对一些内容进行压缩,以节约带宽或为网络带宽不佳的网络提供服务
  • 减速上传
  • 提供HTTP访问认证

实践Nginx反向代理内网穿透8081端口

目的:隐藏8081端口,通过访问80端口实现访问8081端口

实现步骤

我们配置api 在8081端口,并且成功部署,此时8081对外开放,所以可访问

以Ubuntu环境为例

$ cd /etc/nginx/
$ vim nginx.conf

Nginx http节点下 配置8081端口反向代理如下

 server {
        listen 80 default_server;
        listen [::]:80 default_server;
        location  /api/ {
                        proxy_pass http://127.0.0.1:8081;
                }

                location  /apidocs/ {  
                        proxy_pass http://localhost:8081/api/;
                        index swagger-ui.html;
                        error_page 404 http://localhost:8081/api/swagger-ui.html;
                }
         }

配置完成后重启Nginx服务

$ service nginx restart

访问http://ip/apidocs/swagger-ui.html 成功

我们可以关掉服务器安全组规则,去掉8081端口-安全组规则,可以登录阿里云配置,以阿里云为例,其他同理

http://ip/apidocs/swagger-ui.html 依然可以访问

http://ip:8081/api/swagger-ui.html 不可访问

至此,我们实现了nginx反向代理8081端口,通过访问80端口,代理到8081端口的目的

重点理解Ngnix location&proxy_pass字段规则

实现方式二配置upstream

在http节点下,加入upstream节点

upstream demo { 
   server ip:8080; 
   server ip:8081; 
}

将server节点下的location节点中的proxy_pass配置为:http:// + upstream名称

location / { 
      proxy_pass http://demo; 
}

Nginx配置https支持

 ##
        # add cnn SSL Settings
        ##
        server{
                listen 443;
                server_name demo.com;
                ssl on;
                ssl_certificate /etc/nginx/cert/test.pem;
                ssl_certificate_key /etc/nginx/cert/test.key;
                ssl_session_timeout 5m;
                location / {
                							#根域名或者ip
                                proxy_pass http://demo.com;
                        }
        }

总结

到此这篇关于Nginx反向代理入门实战的文章就介绍到这了,更多相关Nginx反向代理内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Nginx转发socket端口配置详解

    Nginx转发socket端口配置详解

    这篇文章主要介绍了Nginx转发socket端口配置详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-06-06
  • CentOS 7.0下nginx实现每天定时分割日志

    CentOS 7.0下nginx实现每天定时分割日志

    大家都知道Nginx产生的日志都是存在一个文件,随着网站运行时间越长,日志文件的大小也在不断增长,所以这个时候就需要实现定时分割,这篇文章主要介绍了在CentOS 7.0下nginx实现每天定时分割日志的相关资料,需要的朋友可以参考下。
    2017-04-04
  • Nginx重新编译添加模块的方法

    Nginx重新编译添加模块的方法

    这篇文章主要介绍了Nginx重新编译添加模块的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • nginx安装图解_动力节点Java学院整理

    nginx安装图解_动力节点Java学院整理

    这篇文章主要为大家详细介绍了nginx安装的图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08
  • linux下nginx负载均衡搭建的方法步骤

    linux下nginx负载均衡搭建的方法步骤

    本篇文章主要介绍了linux下nginx负载均衡搭建的方法步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-04-04
  • 分享最新版 nginx内置变量 大全

    分享最新版 nginx内置变量 大全

    在配置基于nginx服务器的网站时,必然会用到 nginx内置变量 ,下面笔者将它整理成列表,把最新版本的变量列出来,以方便做配置时查询
    2016-04-04
  • Nginx配置实现高效精准的流量限制策略详解

    Nginx配置实现高效精准的流量限制策略详解

    限流(Rate Limitting)是服务降级的一种方式,通过限制系统的输入和输出流量以达到保护系统的目的,下面我们就来看看如何通过配置Nginx实现高效精准的流量限制策略吧
    2024-02-02
  • nginx的配置转发到其他网站详解

    nginx的配置转发到其他网站详解

    这篇文章主要为大家介绍了nginx的配置转发到其他网站过程详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • Nginx中实现访问HTTP请求时自动跳转到HTTPS请求

    Nginx中实现访问HTTP请求时自动跳转到HTTPS请求

    本文主要介绍了Nginx中实现访问HTTP请求时自动跳转到HTTPS请求,下面介绍了两种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-08-08
  • Nginx如何进行流量按比例转发

    Nginx如何进行流量按比例转发

    Nginx 可以借助split_clients指令或通过 weight 参数以及 Lua 脚本实现流量按比例转发,下面小编就为大家介绍一下两种方式具体的操作步骤吧
    2025-03-03

最新评论