Nginx reverse proxy configuration to remove prefix case tutorial

Nginx reverse proxy configuration to remove prefix case tutorial

When using nginx as a reverse proxy, you can simply forward the request to the next service intact. Setting the proxy_pass request will only replace the domain name. If you want to access different services based on different URL suffixes, you need to use the following method:

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 matching requests with the prefix user. If there is a / at the end of proxy_pass, the path after /user/* will be directly concatenated to the end, that is, 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;
    }
}

There is no / at the end of proxy_pass, and rewrite rewrites the URL.

This is the end of this article about the nginx reverse proxy configuration to remove the prefix case tutorial. For more relevant nginx reverse proxy configuration to remove the prefix content, please search for previous articles on 123WORDPRESS.COM or continue to browse the following related articles. I hope everyone will support 123WORDPRESS.COM in the future!

You may also be interested in:
  • Explanation of nginx load balancing and reverse proxy
  • Getting Started with Nginx Reverse Proxy
  • Full process record of Nginx reverse proxy configuration
  • How to implement Nginx reverse proxy for multiple servers
  • About nginx to implement jira reverse proxy

<<:  61 Things Every Web Developer Should Know

>>:  Detailed explanation of Vue life cycle functions

Recommend

How to allow remote access to open ports in Linux

1. Modify the firewall configuration file # vi /e...

IE8 uses multi-compatibility mode to display web pages normally

IE8 will have multiple compatibility modes . IE pl...

Two ways to implement HTML page click download file

1. Use the <a> tag to complete <a href=&...

Summary of several common logs in MySQL

Preface: In the MySQL system, there are many diff...

MySQL recursion problem

MySQL itself does not support recursive syntax, b...

WEB standard web page structure

Whether it is the background image or the text siz...

How to increase HTML page loading speed

(1) Reduce HTTP requests. (Merge resource files a...

WeChat applet scroll-view realizes left-right linkage effect

WeChat applet uses scroll-view to achieve left-ri...

Ubuntu installation Matlab2020b detailed tutorial and resources

Table of contents 1. Resource files 2. Installati...