Nginx 正向代理和反向代理

这篇具有很好参考价值的文章主要介绍了Nginx 正向代理和反向代理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

博主介绍: ✌博主从事应用安全和大数据领域,有8年研发经验,5年面试官经验,Java技术专家✌

Java知识图谱点击链接:体系化学习Java(Java面试专题)

💕💕 感兴趣的同学可以收藏关注下不然下次找不到哟💕💕

Nginx 正向代理和反向代理

1、为什么 Nginx 性能这么高

Nginx性能高的原因有以下几点:

  1. Nginx是一个轻量级的Web服务器,它使用少量的系统资源来处理大量的并发连接请求。

  2. Nginx采用了事件驱动模型,它使用异步非阻塞的方式处理请求,可以更好地利用系统资源。

  3. Nginx具有高度的可扩展性和灵活性,可以通过添加模块来扩展其功能。

  4. Nginx具有出色的负载均衡和反向代理功能,可以将请求分配到多个服务器上,从而提高性能和可靠性。

总之,Nginx通过优秀的架构设计和高效的算法实现了高性能和高可靠性,成为了Web服务器领域的佼佼者。

2、Nginx 正向代理和反向代理

Nginx既可以作为正向代理,也可以作为反向代理。正向代理和反向代理的区别在于代理的对象不同。

正向代理:客户端向代理服务器发送请求,代理服务器再向目标服务器发送请求,目标服务器返回响应给代理服务器,代理服务器再将响应返回给客户端。这时,客户端并不知道请求的目标服务器是哪个,只知道代理服务器的地址。

反向代理:客户端向目标服务器发送请求,但实际上请求被发送到了反向代理服务器上,反向代理服务器会根据配置的规则将请求转发给后端的目标服务器进行处理,再将处理结果返回给客户端。这时,客户端并不知道请求的目标服务器是哪个,只知道反向代理服务器的地址。

Nginx可以通过配置文件的方式实现正向代理和反向代理的功能。在配置文件中,通过proxy_pass指令指定代理服务器的地址和端口号,即可实现代理的功能。

3、Nginx 有什么优缺点

nginx是一个开源的高性能的Web服务器和反向代理服务器。它具有以下优点:

  1. 高性能:nginx采用异步非阻塞的事件驱动模型,能够处理大量并发连接,具有出色的性能表现。

  2. 资源占用低:相比于其他Web服务器,nginx的内存占用较低,能够处理大量的并发请求。

  3. 高度可配置:nginx提供了丰富的配置选项,可以根据实际需求进行灵活的配置和定制。

  4. 反向代理和负载均衡:nginx作为反向代理服务器,能够将请求转发给后端服务器,并进行负载均衡,提高系统的稳定性和性能。

  5. 高度可扩展:nginx支持模块化的架构,可以通过添加第三方模块来扩展功能,满足不同的需求。

然而,nginx也有一些缺点:

  1. 学习曲线较陡峭:相对于一些传统的Web服务器,nginx的配置语法和理念可能对初学者来说有一定的学习难度。

  2. 不支持直接处理动态内容:nginx主要用于处理静态内容,对于动态内容的处理需要与其他后端服务器(如PHP-FPM)结合使用。

  3. Windows平台支持相对较弱:虽然nginx也可以在Windows平台上运行,但相对于Linux平台,其稳定性和性能可能稍逊一筹。

综上所述,nginx是一个高性能、资源占用低、可配置性强的Web服务器和反向代理服务器,适用于处理大量并发请求和负载均衡的场景。但在选择使用时,需要根据具体的需求和环境来权衡其优缺点。

4、Nginx 正向代理的配置

nginx.conf 配置正向代理:

http {
    # 定义正向代理服务器的地址和端口号
    upstream proxy_server {
        server 192.168.1.1:8080;
    }
     # 定义代理服务器的缓存
    proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=cache:10m inactive=60m;
     # 定义代理服务器的缓存时间
    proxy_cache_valid 200 60m;
     # 定义代理服务器的缓存大小
    proxy_cache_size 10m;
     # 定义代理服务器的缓存类型
    proxy_cache_key "$scheme$request_method$host$request_uri";
     # 定义代理服务器的缓存控制
    proxy_cache_bypass $http_pragma;
    proxy_cache_revalidate on;
    proxy_cache_min_uses 1;
     # 定义代理服务器的超时时间
    proxy_connect_timeout 30s;
    proxy_send_timeout 60s;
    proxy_read_timeout 60s;
     # 定义代理服务器的请求头
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
     # 定义代理服务器的响应头
    proxy_hide_header X-Powered-By;
    proxy_hide_header Server;
     # 定义代理服务器的缓存控制头
    add_header Cache-Control "public, max-age=60, s-maxage=60";
     # 定义代理服务器的缓存控制头
    proxy_cache_lock on;
     # 定义代理服务器的缓存控制头
    proxy_cache_methods GET HEAD POST;
}
server {
    listen 80;
    server_name example.com;
     # 定义代理服务器的地址和端口号
    location / {
        proxy_pass http://proxy_server;
        proxy_cache cache;
        proxy_cache_key "$scheme$request_method$host$request_uri";
        proxy_cache_valid 200 60m;
        proxy_cache_bypass $http_pragma;
        proxy_cache_revalidate on;
        proxy_cache_min_uses 1;
    }
}

4、Nginx 配置反向代理

nginx.conf 配置反向代理:

http {
    # 定义后端服务器的地址和端口号
    upstream backend_server {
        server 192.168.1.1:8080;
    }
}
server {
    listen 80;
    server_name example.com;
    # 定义反向代理规则,将请求转发到后端服务器
    location / {
        proxy_pass http://backend_server;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

Nginx 正向代理和反向代理

💕💕 本文由激流原创,首发于CSDN博客,博客主页 https://blog.csdn.net/qq_37967783?spm=1010.2135.3001.5421
💕💕喜欢的话记得点赞收藏啊文章来源地址https://www.toymoban.com/news/detail-476275.html

到了这里,关于Nginx 正向代理和反向代理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • Nginx之正向代理与反向代理进阶(支持https)

    在【Nginx之正向代理与反向代理】一文中我们实现了将Nginx服务器作为正向代理服务器和反向代理服务器, 但美中不足的是仅支持http协议,不支持https协议 。 我们先看看看http和https的区别: http协议 :协议以明文方式发送数据,不提供任何方式的数据加密。不适合传输一些敏

    2024年02月13日
    浏览(32)
  • Nginx安装Windows、Linux | 正向代理、反向代理、负载均衡

    💗wei_shuo的个人主页 💫wei_shuo的学习社区 🌐Hello World ! Nginx是一个高性能的HTTP和反向代理服务器,也可用作电子邮件代理服务器和通用TCP/UDP代理服务器。它是一个轻量级的Web服务器,可以作为静态资源服务器、负载均衡器和反向代理服务器使用。Nginx的优点包括高性能、低

    2024年02月09日
    浏览(39)
  • nginx.4——正向代理和反向代理(七层代理和四层代理)

    七层代理(http协议) 四层代理(tcp/udp流量转发) 七层代理:代理的是http的请求和响应。 客户端请求代理服务器,由代理服务器转发给客户端http请求。转发到内部服务器(可以单台,也可以是一组)。 请求返回webserver:后端服务器---代理服务器---客户端 正向代理:隐藏客户端,

    2024年02月03日
    浏览(67)
  • 正向代理和反向代理有什么区别?什么是正向代理?什么是反向代理?正向代理和反向代理详解。

     一、正向代理:         当用户想访问某一网址时,用户先访问代理服务器,然后由代理服务器向目标网址发送请求最终将数据返回代理服务器,最后代理服务器将数据返回给用户这一过程我们称之为正向代理。 正向代理它代理了客户端,相当于代理服务器去访问目标

    2024年02月08日
    浏览(26)
  • 代理、正向代理与反向代理

    一、代理 1.1 什么是代理 代理 也被叫做网络代理,是一种比较特殊的网络服务,允许一个终端(通常指客户端)通过这个服务与另一个终端(通常指服务器端)进行非直接的连接。例如:一些网关、路由器等网络设备都具备网络代理的功能。代理服务有利于保障网络终端的隐

    2023年04月27日
    浏览(32)
  • 正向代理与反向代理

            http代理分为两种包括正向代理和反向代理。 正向代理代理的是客户端,隐藏客户端。反向代理代理的是服务端,隐藏服务端。正向代理典型应用是vpn。反向代理典型应用是nginx,同时nginx也可以做正向代理。       客户端通过代理访问服务端架构图      两个服务端

    2024年02月15日
    浏览(30)
  • 什么是正向代理和反向代理

    正向代理和反向代理是两种不同的代理服务器配置方式,它们在代理的方向和作用上有所不同。 代表客户端发送请求到其他服务器的代理服务器。客户端将请求发送给正向代理服务器,然后由正向代理服务器代表客户端向目标服务器发送请求。正向代理服务器隐藏了客户端的

    2024年04月28日
    浏览(27)
  • 反向代理与正向代理之间差异分析

    在网络世界中,爬虫ip是我们常用工具之一。但你是否了解反向爬虫ip和正向爬虫ip之间的区别呢?本文将向你分享反向爬虫ip与正向爬虫ip的差异分析,帮助你更好地选择适合的爬虫ip方式,提升爬虫项目的实际操作价值。 首先我们来了解一下,反向爬虫ip与正向爬虫ip的定义

    2024年02月12日
    浏览(27)
  • 正向代理和反向代理与负载均衡

    自存用 什么是反向代理,反向代理与正向代理的区别 一文帮你梳理清楚「正向代理和反向代理的区别与联系」 什么是反向代理服务器 正向代理为用户服务,给用户换个ip使其能访问其他网站 反向代理为服务器服务,使用户访问特定网站服务器。反向代理服务器对我们客户端

    2024年02月06日
    浏览(40)
  • 【网络面试(8)】防火墙原理、正向代理、反向代理、缓存服务器、负载均衡和内容分发服务器

     接上一篇:【网络面试必问(7)】聊聊集线器、交换机和路由器  作为一个程序员,其实很少去了解http请求消息在到达服务器之前,所经过的众多组件的,今天借着机会聊一聊标题中提到的正向代理、反向代理、缓存服务器、负载均衡和内容分发服务器等内容。 1.1 部署

    2024年02月22日
    浏览(34)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包