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

Vue Element front-end application development table list display

1. List query interface effect Before introducing...

MySQL sharding details

1. Business scenario introduction Suppose there i...

Steps to completely uninstall the docker image

1. docker ps -a view the running image process [r...

Explanation of the process of docker packaging node project

As a backend programmer, sometimes I have to tink...

Detailed explanation of map overlay in openlayers6

1. Overlay Overview Overlay means covering, as th...

How to test network speed with JavaScript

Table of contents Preface Summary of the principl...

Detailed explanation of Tomcat's commonly used filters

Table of contents 1. Cross-domain filter CorsFilt...

The qualities and abilities a web designer should have

Web design is an emerging marginal industry that c...

A brief discussion on CSS blocking merging and other effects

Non-orthogonal margins When margin is used, it wi...

Detailed explanation of character sets and validation rules in MySQL

1Several common character sets In MySQL, the most...

Common shell script commands and related knowledge under Linux

Table of contents 1. Some points to remember 1. V...