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
Basic syntax of the table <table>...</tab...
MySQL installation tutorial for Windows system do...
Table of contents 1. Create components using func...
Table of contents Basic selectors: Level selector...
Preface: The importance of database backup is sel...
This article describes how to compile and install...
1. Concurrency Concurrency is the most important ...
Problem: The website published through IIS is pla...
MySQL is a relational database management system ...
Table of contents Boot Options Command Line Long ...
Common nmcli commands based on RHEL8/CentOS8 # Vi...
MySQL creates users and authorizes and revokes us...
1 Download The address is: https://dev.mysql.com/...
I spent almost two hours trying various methods. ...
Table of contents 1. Prototype mode Example 1 Exa...