Nginx是個厲害的伺服器,可以設定多個伺服器,一個server就是一個伺服器
server { listen 80; server_name *.yourdomain.com; .... }
代理轉發是在server下面的location進行配置
server { // 服务器配置 location / { // ...... 代理配置 } }
常見的Nginx代理程式配置
upstream my_server { server 10.0.0.2:8080; keepalive 2000; } server { listen 80; server_name 10.0.0.1; client_max_body_size 1024M; location /my/ { proxy_pass http://my_server/; proxy_set_header Host $host:$server_port; } }
透過該配置,存取nginx位址http://10.0.0.1 :80/my的請求會被轉送到my_server服務位址http://10.0.0.2:8080/
要注意的是,如果依照下列設定:
upstream my_server { server 10.0.0.2:8080; keepalive 2000; } server { listen 80; server_name 10.0.0.1; client_max_body_size 1024M; location /my/ { proxy_pass http://my_server; proxy_set_header Host $host:$server_port; } }
那麼,訪問nginx位址http://10.0.0.1:80/my的請求會被轉送到my_server服務位址http://10.0.0.2:8080/my。這是因為proxy_pass參數中如果不包含url的路徑,則會將location的pattern識別的路徑作為絕對路徑。
更多Nginx相關技術文章,請造訪Nginx使用教學欄位進行學習!
以上是nginx如何設定代理轉發的詳細內容。更多資訊請關注PHP中文網其他相關文章!