Nginx設定正向代理、反向代理
公司有兩臺空閒的伺服器,和老大說了一聲後,就想利用一下這臺空閒的伺服器學習一下Nginx配置,兩臺伺服器只有一個IP地址,A伺服器有公網IP,B伺服器沒有公網IP,同時兩個伺服器私有地址在同一IP段(A–192.168.0.10,B–192.168.0.11)。想讓B伺服器可以訪問公網,同時區域網外的使用者可以訪問B伺服器的資源。有遺漏或者錯誤的地方歡迎指正
1.Nginx正向代理
在Nginx伺服器(A)上的配置如下,配置完記得重啟
server{
listen 9999;//監聽9999埠
server_name _;
location /{
resolver 8.8.8.8 114.114.114.114;//DNS自選
proxy_pass $scheme://$host$request_uri;
}
}
在B伺服器上的配置環境變數,新增代理
#export https_proxy=正向代理IP:埠
export https_proxy=192.168.0.10:9999
2.配置反向代理
server{
listen 90;//可以是其他埠
server_name xxxx.com a.xxx.com;//域名
location /{
proxy_set_header Host $host;
proxy_pass http://192.168.0.11:8090;
}
}
3.中間遇到的問題
配置完反向代理後,訪問靜態資源報404,解決方案
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)${
expires 30d;
proxy_pass http://192.168.0.11:8090;
error_log off;
access_log /dev/null;
}
location ~ .*\.(js|css)?${
expires 12h;
proxy_pass http://192.168.0.11:8090;
error_log off;
access_log /dev/null;
}
4.結語
剛剛接觸Nginx,還有許多不知道,還有需要有待了解,上述配置也只是一下簡單的配置,Nginx之路還有很長,慢慢來
本作品採用《CC 協議》,轉載必須註明作者和本文連結