nginx 的一些简单重定向及代理设置

本文介绍了如何使用Nginx进行重定向和代理配置。第一部分展示了如何将请求重定向到指定URL,包括普通重定向和保留原始URL的重定向。第二部分讲解了Nginx的upstream配置,用于代理服务器请求。最后,提供了完整的Nginx配置示例,包括基本的重定向和针对/api/路径的代理设置,以及代理到内部服务器和接口的实现。
摘要由CSDN通过智能技术生成

1、nginx重定向到其它网址

location / { # 重定向
   return 301 https://www.xxx.com/;
}

location ~ ^/ { # 重定向
   return 301 https://www.xxx.com$request_uri;
}

2、nginx代理其它网址(upstream 的详细配置,自己查阅一下资料。)

server
{
    listen 80;
    server_name www.***.com;
    index index.php index.html index.htm default.php default.htm default.html;
	location /aaa-file/ { # 代理配置
	    proxy_pass https://www.xxx.com/;
	    # 在请求http://www.***.com/aaa-file/uploads 会代理到 https://www.xxx.com/uploads
	}
}

3、简单的完整重定向配置

upstream project { #配置别名
    server 127.0.0.1:44411; #**后台
}
upstream emba_api { #配置别名
    server 127.0.0.1:40011; #接口;可配置域名之类的
}

server
{
    listen 80;
    server_name www.***.com;
    index index.php index.html index.htm default.php default.htm default.html;
    # root /data/www/;
    client_max_body_size 200M;
    #error_page 403 /403.html;
    #报名端

    location / { # 重定向
        return 301 https://www.xxx.com/;
    }
    location /api/ { # 代理配置
        proxy_pass http://emba_api/api/;# emba_api为上面 upstream 定义的配置。
        proxy_set_header Host $host:$server_port; # $host、$server_post 为nginx变量
    }
    location ~ ^/enroll(/|\.html)?  {
        proxy_set_header X-Real-Ip $remote_addr;
        proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Nginx-Proxy true;
        proxy_set_header X-Scheme $scheme;
        proxy_set_header HOST $host;
        proxy_pass http://project;
        proxy_redirect off;
    }

}

nginx中,重定向是指将请求从一个URL重定向到另一个URL。重定向可以是永久的(301)或临时的(302)。重定向可以通过使用return指令或rewrite指令来实现。 return指令用于在处理请求时立即返回指定的HTTP状态码和响应头。它可以用于实现简单重定向,例如将请求从一个URL重定向到另一个URL。例如,可以使用return 301来实现永久重定向。 rewrite指令用于修改请求的URI或URL,并将其发送到新的位置。它可以用于实现更复杂的重定向逻辑,例如基于正则表达式匹配的重定向。rewrite指令可以在server块或location块中使用。 proxy_pass指令用于将请求代理到另一个服务器。它通常用于实现反向代理,将请求转发到后端服务器。与重定向不同,proxy_pass不会更改请求的URL,而是将请求发送到指定的服务器。 总结起来,return指令用于简单重定向,rewrite指令用于更复杂的重定向逻辑,而proxy_pass指令用于代理请求到另一个服务器。它们在实现重定向代理功能时有不同的用途和功能。 #### 引用[.reference_title] - *1* *2* *3* [nginx-重写和重定向关系与配置](https://blog.csdn.net/qq522044637/article/details/127903609)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值