Nginx反向代理web服務器-----簡單代理

正向代理:客戶端須要訪問Internet上的某個網站,訪問不了,從而訪問Nginx代理服務器,Nginx代理服務器訪問目標網站,並從中取出訪問數據返回給客戶端,目標網站獲取的訪問者的信息其實是Nginx代理服務器的,可是使用正向代理服務器,客戶端須要自行設置。html

反向代理:Nginx反向代理後端的一個或多個web服務,客戶端訪問web服務時,直接訪問的Nginx反向代理服務器,而Nginx再根據調度策略,將請求分發至後臺實際web服務器。node

環境:centos7.2nginx

Nginx:1.12.2web

node1_ip:192.168.169.103(Nginx代理服務器)vim

node2_ip:192.168.169.154後端

node2安裝web服務器:centos

 yum -y install httpd瀏覽器

Apache默認首頁在/var/www/html下的index.html配置文件,若沒有,新建一個index.html並寫入測試語句:服務器

this is 192.168.169.154 web server,而後開啓http服務測試

service httpd start

瀏覽器訪問node2的http,看到首頁

 

配置Nginx代理服務器,node1:

yum -y install nginx #Nginx依賴軟件包zlib、pcre等

yum安裝的軟件配置文件,默認在/etc/下,

cd /etc/nginx

nginx.conf爲Nginx的默認配置文件

查看nginx.conf,配置文件中有:

 include /etc/nginx/conf.d/*.conf;  #表明會加載在此路徑下的全部的conf文件,即conf.d下的全部conf文件

cd conf.d/

touch test.conf   #新建一個test 文件,嘗試代理node2的web服務器

vim test.conf

 server {
        listen       80;                    #監聽端口
        server_name  _;               #

        location / {
               proxy_pass http://192.168.169.154:80;         #代理的實際ip+端口
               proxy_set_header  X-Real-IP  $remote_addr;   #設置web服務器取得的客戶端的實際ip地址,#  不設置,查看web服務 的日誌,會發現,請求web服務的ip是Nginx代理服務器的ip。     

   }
}
#保存退出

service nginx start

瀏覽器訪問Nginx,出現node2,web服務器首頁,代理成功

備註:若是查看web服務器日誌,發現請求的客戶端ip仍然是Nginx代理服務器的ip,須要設置web服務器的主配置文件,例Apache的爲/etc/httpd/conf下的httpd.conf

其中配置日誌的字段爲,默認黃框內的配置爲,將其中的「%h」設置爲「%{X-Real-IP}i」

 LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined

service httpd restart #重啓httpd服務,查看請求日誌,請求客戶端ip爲實際客戶端ip。

相關文章
相關標籤/搜索