1,首先建立一個設定檔,/etc/nginx/sites-enabled/reverse-proxy.conf
內容為如下所示,每行都需要分號結尾
upstream monitor_server {#這裡是為了使用負載平衡,使得多個ip可以提供同一個服務,weight為權值, server 10.10.12.203:8080 weight=2; server 10.10.12.202:8080 weight=4;}server { listen 8081; server_name www.xxx123.com;# 反向網域名稱代理,不同的網域名稱是指向同一入口ip,經過nginx,又轉向不同的內部ip提供網路服務,"www"不省略 location / { proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://monitor_server; }}server { listen 8081; server_name localhost; location / { proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://10.10.12.203:8080; }}
2,將上述設定檔include到nginx.conf
編輯 /etc/nginx/nginx.conf,在http{}中添加一句話,比如在
include /etc/nginx/mime.types;
default_type application/octet-stream;
兩行下面添加一句:
include /etc/nginx/sites-enabled/reverse-proxy.conf;
這樣的話,就可以把反向 Proxy設定檔引用到,接著重啟即可: service nginx restart
3,測試
我的測試用戶端是windows,ip是10.10.12.73;而nginx伺服器是在Ubuntu中,ip是10.10.2.176.
開啟c:\windows\System32\drivers\etc\hosts檔案,在最後添加如下:
10.10.2.176 www.xxx123.com
其中10.10.2.176為nginx伺服器的ip,結果可以在瀏覽器輸入www.xxx123.com, 可以看到果然轉寄了。
以上就介紹了Nginx 配置反向 Proxy,包括了方面的內容,希望對PHP教程有興趣的朋友有所協助。