nginx反向代理配置如何去除字首
使用Nginx做代理的時候,可以簡單的直接把請求原封不動的轉發給下一個服務。下面我們講講更多的用法 |
使用Nginx做代理的時候,可以簡單的直接把請求原封不動的轉發給下一個服務。
比如,訪問abc.com/appv2/a/b.html, 要求轉發到localhost:8088/appv2/a/b.html
簡單配置如下:
upstream one { server localhost:8088 weight=5; } server { listen 80; server_name abc.com; access_log "pipe:rollback /data/log/nginx/access.log interval=1d baknum=7 maxsize=1G" main; location / { 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-NginX-Proxy true; proxy_pass } }
即,設定 proxy_pass 即可。請求只會替換域名。但很多時候,我們需要根據url的字首轉發到不同的服務。設定proxy_pass請求只會替換域名,如果要根據不同的url字尾來訪問不同的服務,則需要透過如下方法.
方法一:加"/"
server { listen 8000; server_name abc.com; access_log "pipe:rollback /data/log/nginx/access.log interval=1d baknum=7 maxsize=1G" main; location ^~/user/ { 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-NginX-Proxy true; proxy_pass } location ^~/order/ { 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-NginX-Proxy true; proxy_pass } }
^~/user/表示匹配字首是 user的請求, proxy_pass的結尾有 /, 則會把 /user/*後面的路徑直接拼接到後面,即移除 user。
方法二:rewrite
upstream user { server localhost:8089 weight=5; } upstream order { server localhost:8090 weight=5; } server { listen 80; server_name abc.com; access_log "pipe:rollback /data/log/nginx/access.log interval=1d baknum=7 maxsize=1G" main; location ^~/user/ { 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-NginX-Proxy true; rewrite ^/user/(.*)$ /$1 break; proxy_pass } location ^~/order/ { 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-NginX-Proxy true; rewrite ^/order/(.*)$ /$1 break; proxy_pass } }
proxy_pass結尾 /, rewrite重寫了url。
關於rewrite
syntax: rewrite regex replacement [flag] Default: — Context: server, location, if
原文地址:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31559985/viewspace-2754667/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- nginx反向代理配置去除字首Nginx
- Nginx 配置:反向代理Nginx
- Nginx 配置反向代理Nginx
- Nginx之路--配置正向代理、反向代理Nginx
- Nginx正向代理和反向代理配置Nginx
- tomcat 配置nginx 反向代理TomcatNginx
- 配置Nginx反向代理TomcatNginxTomcat
- yapi 的 nginx 反向代理配置文字APINginx
- Nginx-05-nginx 反向代理是什麼?windows 下如何配置使用 nginxNginxWindows
- Nginx專題(1):Nginx之反向代理及配置Nginx
- Nginx反向代理Nginx
- nginx 反向代理Nginx
- docker 安裝 nginx 並配置反向代理DockerNginx
- nginx正向代理、反向代理Nginx
- Nginx配置檔案(反向代理伺服器)Nginx伺服器
- [Nginx] TCP 反向代理NginxTCP
- Nginx 反向代理 websocketNginxWeb
- 記錄一下,如何配置nodejs nginx的反向代理NodeJSNginx
- Nginx之location中反向代理proxy_pass配置Nginx
- docker下nginx反向代理和負載均衡配置DockerNginx負載
- nginx 反向代理做域名轉發簡單配置Nginx
- nginx的https和http共存反向代理配置NginxHTTP
- nginx+tomcat反向代理負載均衡配置NginxTomcat負載
- 阿里雲配置 node.js + Nginx 反向代理阿里Node.jsNginx
- nginx配置web服務|反向代理|負載均衡NginxWeb負載
- nginx 反向代理 swoole 使用Nginx
- nginx 反向代理設定Nginx
- Nginx四層反向代理Nginx
- 一段萬能的nginx介面反向代理配置Nginx
- nginx學習筆記(3):TCP反向代理基本配置Nginx筆記TCP
- apache配置反向代理Apache
- nginx 反向代理 介面請求Nginx
- 淺談Nginx之反向代理Nginx
- nginx反向代理快取教程。Nginx快取
- Nginx實戰(五) 反向代理Nginx
- Nginx、haproxy反向代理設定Nginx
- nginx 反向代理到目錄Nginx
- Nginx 反向代理的進本配置以及Vue-router history模式配置NginxVue模式