Network Security Internet Technology Development Database Servers Mobile Phone Android Software Apple Software Computer Software News IT Information

In addition to Weibo, there is also WeChat

Please pay attention

WeChat public account

Shulou

How to remove prefixes in nginx reverse proxy configuration

2025-02-23 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Development >

Share

Shulou(Shulou.com)06/02 Report--

This article will explain in detail how to remove the prefix in nginx reverse proxy configuration. The content of the article is of high quality, so the editor will share it with you for reference. I hope you will have a certain understanding of the relevant knowledge after reading this article.

When using Nginx as a proxy, you can simply forward the request to the next service intact.

The simple configuration is as follows:

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 http://one;}}

That is, you can set proxy_pass. Request will only replace the domain name. But in many cases, we need to forward to different services according to the prefix of url. Setting the proxy_pass request will only replace the domain name. If you want to access different services according to different url suffixes, you need to use the following methods.

Method 1: add "/"

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 http://user/;} 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 http://order/; }}

^ ~ / user/ means to match the request with the prefix user, and if the proxy_pass ends with /, the path after / user/* will be directly joined to the end, that is, the user will be removed.

Method 2: 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 http://user;} 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 http://order;}}

At the end of proxy_pass /, rewrite rewrites url.

About rewrite

Syntax: rewrite regex replacement [flag] Default:-Context: server, location, if on how to remove the prefix in nginx reverse proxy configuration is shared here. I hope the above content can be helpful to you and learn more. If you think the article is good, you can share it for more people to see.

Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.

Views: 0

*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.

Share To

Development

Wechat

© 2024 shulou.com SLNews company. All rights reserved.

12
Report