Nginx 有关反向代理的基本配置

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

反向代理基本配置项

poxy_pass
poxy_pass URL;

将请求反向代理到指定的 URL,URL 可以是主机名或 IP : port 形式 也可以是 UNIX 句柄,看也可以使用 upstream 块。

配置块:location、if

默认情况下反向代理是不会转发请求中的 Host 头部。如果要转发必须加上配置:

proxy_set_header Host $host;
proxy_method
proxy_method method;

此配置相表示转发时的协议方法名,例如 method 设置为 POST 时 客户端发来的 GET 请求在转发时方法名也会改为 POST

配置块:http、server、location

proxy_hide_header
proxy_hide_header the_header;

在转发上游服务器响应给客户端时,默认不会转发以下 HTTP 头部字段:Date Server X-Pad X-Accel-*proxy_hide_header 可以指定哪些 HTTP 头部字段不能被转发。

配置块:http、server、location

proxy_pass_header
proxy_pass_header the_header;

通过原先禁止的 HTTP 头部字段

配置块:http、server、location

proxy_pass_request_body
proxy_pass_request_body on | off;

是否发送 HTTP 包体部分

配置块:http、server、location

proxy_pass_request_headers
proxy_pass_request_headers on | off;

是否发送 HTTP 头部

配置块:http、server、location

proxy_redirect
proxy_redirect default | off | redirect replacement;
  • default:表示默认的重定向行为,将后端服务器返回的响应头中的重定向 URL 从后端服务器的地址改为代理服务器的地址。

  • off:表示禁用重定向。

  • redirect replacement:用于自定义重定向规则,replacement 是一个替换模式,用于指定如何替换重定向 URL。

配置块:http、server、location

Example
  1. 自定义重定向规则

    proxy_redirect http://backend_server/ http://frontend_server/;

    这个配置将会将后端服务器地址 http://backend_server/ 替换为前端服务器地址 http://frontend_server/

  2. 处理 HTTPS 重定向

    proxy_redirect http://backend_server/ https://frontend_server/;
proxy_next_upstream
proxy_next_upstream error | timeout | invalid_header | http_500 | http_502 | http_503 | http_504 | http_403 | http_404 | off;

proxy_next_upstream 指令用于指定在与后端服务器通信的过程中发生错误时 Nginx 应该尝试的下一个后端服务器。通常在使用反向代理时,当与当前后端服务器的连接出现问题时,Nginx 可以尝试连接到下一个后端服务器。

配置块:http、server、location

Example
  1. 默认配置

    proxy_next_upstream error timeout;

    这个配置表示当与后端服务器的连接发生错误或超时时,Nginx 将尝试连接下一个后端服务器。

  2. 禁用重试

    proxy_next_upstream off;

    这个配置将禁用在与后端服务器通信过程中的重试机制,即不会尝试连接下一个后端服务器。

  3. 特定状态码重试

    proxy_next_upstream http_500 http_502 http_503 http_504;

    这个配置表示当后端服务器返回 HTTP 状态码为 500、502、503、504 时,Nginx 将尝试连接下一个后端服务器。

Example

基本反向代理配置
server {
    listen 80;
    server_name example.com;
​
    location / {
        proxy_pass http://backend_server;
    }
}

在这个配置中,所有来自 example.com 的请求都会被反向代理到 http://backend_server

反向代理指定路径
server {
    listen 80;
    server_name example.com;
​
    location /app {
        proxy_pass http://backend_server;
    }
}

这个配置将只会将 example.com/app 下的请求反向代理到 http://backend_server,其他请求将不会被代理。

反向代理配置HTTPS
server {
    listen 443 ssl;
    server_name example.com;
​
    ssl_certificate /path/to/certificate.crt;
    ssl_certificate_key /path/to/private.key;
​
    location / {
        proxy_pass https://backend_server;
        proxy_ssl_verify off;  # 关闭对后端服务器证书的验证
    }
}

这个配置示例将会使用 HTTPS 反向代理请求到 https://backend_server,并关闭了对后端服务器证书的验证。

设置反向代理的请求头
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;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

这个配置中,通过 proxy_set_header 指令设置了一系列的请求头,将客户端的一些信息传递给后端服务器,这在某些情况下是有用的。文章来源地址https://www.toymoban.com/news/detail-847149.html

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

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

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

相关文章

  • 【Nginx基础篇】nginx的基本配置解析和应用场景

    目录 一、最小配置 二、虚拟主机 原始的配置文件 将注释删除后最简版 worker_processes worker_processes 1 ; 默认为 1 ,表示开启一个业务进程 worker_connections worker_connections 1024 ; 单个业务进程可接受连接数 include mime.types; include mime.types ; 引入 http mime 类型 default_type application/octet-str

    2024年02月04日
    浏览(42)
  • 1. Nginx 基本功能配置

    图 为 windows 版本的。 进入Nginx的主目录我们可以看到这些文件夹 client_body_temp conf fastcgi_temp html logs proxy_temp sbin scgi_temp uwsgi_temp 其中这几个文件夹在刚安装后是没有的,主要用来存放运行过程中的临时文件 client_body_temp fastcgi_temp proxy_temp scgi_temp 目录信息: 用来存放配置文件相

    2024年02月05日
    浏览(42)
  • nginx基本2——配置文件详解(网页配置篇)

    nginx安装方式比较多,yum安装和二进制安装的路径不同,配置文件路径在nginx安装目录下。 默认启动nginx时,使用的配置文件是:安装路径/conf/nginx.conf文件。 也可以在启动nginx时,通过-c选项指定其他配置文件启动。 配置文件类型 作用 释义 nginx.conf nginx的基本配置文件 一般都

    2024年02月16日
    浏览(37)
  • Nginx反向代理 配置实例

    介绍: 反向代理,其实客户端对代理是无感知的,因为客户端不需要任何配置就可以访问。 我们只 需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,在返 回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理

    2024年02月15日
    浏览(40)
  • nginx反向代理配置

    客户端对代理是无感知的,只需将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,再返回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器IP地址 浏览器访问 www.123.com ,访问nginx的地

    2024年02月17日
    浏览(42)
  • Nginx-反向代理(配置教程)

     反向代理的作用 1、解决网站服务器对外可见的问题、私密性、安全性 2、路由功能:根据用户请求的URI调度到对应功能的节点处理请求 3、负载均衡:将用户的请求,通过调度算法挑选一台合适的节点处理请求 4、动静分离:根据用户请求的URI进行区分,将动态资源调度到应

    2024年02月13日
    浏览(41)
  • Linux配置nginx反向代理

    在云服务器上部署高并发的服务,使用Nginx作为反向代理是一种常见的做法,可以实现流量分发、负载均衡,同时提升系统的可靠性和性能。 步骤概览: 安装Nginx: 确保服务器已安装Nginx。若未安装,可使用适用于你服务器系统的包管理工具(如apt或yum)进行安装。 配置负载

    2024年02月11日
    浏览(42)
  • nginx配置例子-反向代理实现

    4.1 反向代理实现(实例1) 4.1.1需要实现的效果 (1)打开浏览器,在浏览器地址栏输入地址 www.123.com,跳转到liunx.系统tomat主页面中 4.1.2 准备工作 (1)在liunx, 系统安装 tomcat, 使用默认端口8080. tomcat安装文件放到 liunx系统中,解压。 (安装前,可以使用java -version 查 jdk 是否安装,

    2024年02月15日
    浏览(38)
  • Nginx配置反向代理实例一

    Mac 安装Nginx教程 提醒一下:下面实例讲解是在Mac系统演示的; 反向代理实例一实现的效果 在浏览器地址栏输入www.testproxy.com, 跳转到系统Tomcat主页面。 第一步:在系统的 hosts 文件进行ip和域名对应关系的配置。 Mac 系统修改Hosts文件的方法 : 打开在访达 按住command + shift +

    2024年02月03日
    浏览(34)
  • Nginx配置WebSocket反向代理

    ​ WebSocket协议相比较于HTTP协议成功握手后可以多次进行通讯,直到连接被关闭。但是WebSocket中的握手和HTTP中的握手兼容,它使用HTTP中的Upgrade协议头将连接从HTTP升级到WebSocket。这使得WebSocket程序可以更容易的使用现已存在的基础设施。 $ vim /usr/local/nginx/conf/nginx.conf (nginx配置

    2024年02月07日
    浏览(46)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包