nginx proxy_redirect的作用及说明
更新时间:2024年06月05日 08:59:26 作者:hkNaruto
这篇文章主要介绍了nginx proxy_redirect的作用及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
准备环境
springboot /redirect controller
curl http://localhost:10080/redirect -vv * Trying ::1:10080... * Connected to localhost (::1) port 10080 (#0) > GET /redirect HTTP/1.1 > Host: localhost:10080 > User-Agent: curl/7.76.1 > Accept: */* > * Mark bundle as not supporting multiuse < HTTP/1.1 302 < X-Content-Type-Options: nosniff < X-XSS-Protection: 1; mode=block < Cache-Control: no-cache, no-store, max-age=0, must-revalidate < Pragma: no-cache < Expires: 0 < X-Frame-Options: DENY < Location: http://localhost:10080/ip < Content-Length: 0 < Date: Wed, 26 May 2021 05:55:45 GMT < * Connection #0 to host localhost left intact
1. 默认配置
即proxy_redirect default;
location / { proxy_pass http://localhost:10080/; }
效果
curl -vv http://localhost/redirect * Trying ::1:80... * connect to ::1 port 80 failed: 拒绝连接 * Trying 127.0.0.1:80... * Connected to localhost (127.0.0.1) port 80 (#0) > GET /redirect HTTP/1.1 > Host: localhost > User-Agent: curl/7.76.1 > Accept: */* > * Mark bundle as not supporting multiuse < HTTP/1.1 302 < Server: nginx/1.19.3 < Date: Wed, 26 May 2021 05:57:02 GMT < Content-Length: 0 < Location: http://localhost/ip < Connection: keep-alive < X-Content-Type-Options: nosniff < X-XSS-Protection: 1; mode=block < Cache-Control: no-cache, no-store, max-age=0, must-revalidate < Pragma: no-cache < Expires: 0 < X-Frame-Options: DENY < * Connection #0 to host localhost left intact
2. proxy_redirect default;
location / { proxy_pass http://localhost:10080/; proxy_redirect default; }
注意,proxy_redirect default必须在proxy_pass下方配置
效果
curl -vv http://localhost/redirect * Trying ::1:80... * connect to ::1 port 80 failed: 拒绝连接 * Trying 127.0.0.1:80... * Connected to localhost (127.0.0.1) port 80 (#0) > GET /redirect HTTP/1.1 > Host: localhost > User-Agent: curl/7.76.1 > Accept: */* > * Mark bundle as not supporting multiuse < HTTP/1.1 302 < Server: nginx/1.19.3 < Date: Wed, 26 May 2021 06:02:20 GMT < Content-Length: 0 < Location: http://localhost/ip < Connection: keep-alive < X-Content-Type-Options: nosniff < X-XSS-Protection: 1; mode=block < Cache-Control: no-cache, no-store, max-age=0, must-revalidate < Pragma: no-cache < Expires: 0 < X-Frame-Options: DENY < * Connection #0 to host localhost left intact
与方案1等同
3. proxy_redirect off;
location / { proxy_pass http://localhost:10080/; proxy_redirect off; }
效果
curl http://localhost:10080/redirect -vv * Trying ::1:10080... * Connected to localhost (::1) port 10080 (#0) > GET /redirect HTTP/1.1 > Host: localhost:10080 > User-Agent: curl/7.76.1 > Accept: */* > * Mark bundle as not supporting multiuse < HTTP/1.1 302 < X-Content-Type-Options: nosniff < X-XSS-Protection: 1; mode=block < Cache-Control: no-cache, no-store, max-age=0, must-revalidate < Pragma: no-cache < Expires: 0 < X-Frame-Options: DENY < Location: http://localhost:10080/ip < Content-Length: 0 < Date: Wed, 26 May 2021 06:03:34 GMT < * Connection #0 to host localhost left intact
可以看到,302响应的是内部地址。
总结
常规部署情况下,不需要特别配置proxy_redirect或者配置proxy_redirect default即可。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Windows下使用 Nginx 搭建 HTTP文件服务器 实现文件下载功能
Nginx 是一款轻量级的 HTTP 服务器,采用事件驱动的异步非阻塞处理方式框架,这让其具有极好的 IO 性能,时常用于服务端的反向代理和负载均衡,这篇文章主要介绍了Windows下使用 Nginx 搭建 HTTP文件服务器实现文件下载功能,需要的朋友可以参考下2023-03-03Nginx配置PHP的Yii与CakePHP框架的rewrite规则示例
这篇文章主要介绍了Nginx配置PHP的Yii与CakePHP框架的rewrite规则示例,是这两款高人气框架使用Nginx的关键配置点,需要的朋友可以参考下2016-01-01
最新评论