1. The It can only be used in the server segment, and only requires the domain name or IP address and port. It can be understood as port forwarding, which can be either a TCP port or a UDP port. server { listen 127.0.0.1:12345; proxy_pass 127.0.0.1:8080; } server { listen 12345; proxy_connect_timeout 1s; proxy_timeout 1m; proxy_pass example.com:12345; } server { listen 53 udp; proxy_responses 1; proxy_timeout 20s; proxy_pass dns.example.com:53; } server { listen [::1]:12345; proxy_pass unix:/tmp/stream.socket; 2. The
3. Analysis of the url (request_uri) of the backend server after proxy_pass server { listen 80; server_name www.test.com; # Scenario A # Visit http://www.test.com/testa/aaaa # The backend request_uri is: /testa/aaaa location ^~ /testa/ { proxy_pass http://127.0.0.1:8801; } # Scenario B # Visit http://www.test.com/testb/bbbb # The backend request_uri is: /bbbb location ^~ /testb/ { proxy_pass http://127.0.0.1:8801/; } # Scenario C # The following location is correct ~ /testc { proxy_pass http://127.0.0.1:8801; } # Scenario D # The following location is wrong# # When running nginx -t, the following error will be reported: # # nginx: [emerg] "proxy_pass" cannot have URI part in location given by regular # expression, or inside named location, or inside "if" statement, or inside # "limit_except" block in /opt/app/nginx/conf/vhost/test.conf:17 # # When location is a regular expression, proxy_pass cannot contain a URI part. This example contains "/" location ~ /testd { proxy_pass http://127.0.0.1:8801/; # Remember, when location is a regular expression, you cannot write it like this! ! ! } # Scenario E # Visit http://www.test.com/ccc/bbbb # The backend request_uri is: /aaa/ccc/bbbb location /ccc/ { proxy_pass http://127.0.0.1:8801/aaa$request_uri; } # Scenario F # Visit http://www.test.com/namea/ddd # The backend request_uri is: /yongfu?namea=ddd location /namea/ { rewrite /namea/([^/]+) /yongfu?namea=$1 break; proxy_pass http://127.0.0.1:8801; } # Scenario G # Visit http://www.test.com/nameb/eee # The backend request_uri is: /yongfu?nameb=eee location /nameb/ { rewrite /nameb/([^/]+) /yongfu?nameb=$1 break; proxy_pass http://127.0.0.1:8801/; } access_log /data/logs/www/www.test.com.log; } server { listen 8801; server_name www.test.com; root /data/www/test; index index.php index.html; rewrite ^(.*)$ /test.php?u=$1 last; location ~ \.php$ { try_files $uri =404; fastcgi_pass unix:/tmp/php-cgi.sock; fastcgi_index index.php; include fastcgi.conf; } access_log /data/logs/www/www.test.com.8801.log; } This is the end of this article about the difference between the two proxy_pass modules in nginx. For more relevant nginx proxy_pass module content, please search 123WORDPRESS.COM's previous articles or continue to browse the following related articles. I hope everyone will support 123WORDPRESS.COM in the future! You may also be interested in:
|
<<: 10 very good CSS skills collection and sharing
>>: Introducing ECharts into the Vue project
I just installed Ubuntu and there was no network ...
Preface If you are going to interview for a Linux...
Table of contents Variable type and storage space...
MySQL (5.6 and below) parses json #json parsing f...
1. Problem description Due to some reasons, the d...
I installed redis today and some errors occurred ...
This article mainly introduces the effect of div ...
Preface Recently I encountered a requirement, whi...
mysql records time-consuming sql MySQL can record...
Table of contents Enter the topic mysql add, dele...
Table of contents Effect Start creating text Firs...
In the previous article https://www.jb51.net/arti...
Generally, when we use a table, we always give it...
My original intention was to encapsulate the $not...
MYSQL is case sensitive Seeing the words is belie...