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
Preface: In MySQL, the CONCAT() function is used ...
Table of contents 1. Retrieve via --skip-grant-ta...
Table of contents Scenario Task idea analyze Conc...
Table of contents Why understand the life cycle W...
1. Inline elements only occupy the width of the co...
The benefits of using MySQL master-slave replicat...
Table of contents Linux environment variables and...
Preface Any application that can be written in Ja...
When Docker creates a container, it uses the brid...
1. Rendering2. Operation steps 1. Apply for Tence...
Preface This article mainly introduces the releva...
Through an example, I shared with you the solutio...
WEB development mainly consists of two interactio...
Implementation ideas First, create a parent conta...
Today I will share with you a good-looking counte...