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即可。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
来源:https://www.jb51.net/server/322220u21.htm
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作! |
|
|
|
发表于 2024-6-11 21:17:51
举报
回复
分享
|
|
|
|