1. 程式人生 > >nginx簡單代理配置

nginx簡單代理配置

clas 反向 bsd att 重寫 權重 stop 多個 set

原文:https://my.oschina.net/wangnian/blog/791294

前言 Nginx ("engine x") 是一個高性能的HTTP和反向代理服務器,也是一個IMAP/POP3/SMTP服務器。Nginx是由Igor Sysoev為俄羅斯訪問量第二的Rambler.ru站點開發的,第一個公開版本0.1.0發布於2004年10月4日。其將源代碼以類BSD許可證的形式發布,因它的穩定性、豐富的功能集、示例配置文件和低系統資源的消耗而聞名。2011年6月1日,nginx 1.0.4發布。因為域名只能解析80端口,所以必須需要nginx代理訪問。

1.首先下載nginx

http://nginx.org/en/download.html

啟動方式 start nginx 啟動

nginx.exe -s stop 停止

2.代理的方式

       server
         {
            listen      81 ;
            server_name  www.baidu.com default;
            index index.html;
            root /data/abc/;
            
            #auth_basic "input you user name and password";
            #auth_basic_user_file /data/test_pwd;
                  
            location / {
                root   /data/abc/;
                index  index.html index.htm;
            }   
         }  


    server
         {
            listen      80 ;
            server_name  www1.baidu.com default;
            #auth_basic "input you user name and password";
            #auth_basic_user_file /data/test_pwd;
                  
            location / {
               proxy_pass http://localhost:8084; 
               proxy_set_header   Host    $host; 
               proxy_set_header   X-Real-IP   $remote_addr; 
               proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for; 
            }   
         }      
   

添加一個 server的節點

listen 80 監聽80端口

server_name 域名的地址 如果訪問的是weixin.wangnian.com就走代理

location / 訪問根路徑就走代理

代理可以直接是服務器的位置 也可以代理請求地址

直接訪問服務器的位置

root /data/abc/;
index index.html index.htm;

proxy_pass配置為:代理的地址

proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

以上三個配置,如果反向代理服務器不重寫該請求頭的話,那麽後端真實服務器在處理時會認為所有的請求都來在反向代理服務器條負載均衡的配置

3.負載均衡配置

	upstream weixin {                                                         
		server 127.0.0.1:8083;                                                
		keepalive 2000;
	}
	 server {
	    listen  80;                                                         
	    server_name   weixin.wangnian.com;                                               
	    client_max_body_size 1024M;
	    location / {
	        proxy_pass http://weixin/;
	        proxy_set_header Host $host:$server_port;
    }

在http節點下,添加upstream節點,可以配置多個服務器地址server,配置多個服務器地址需要配置相應的權重。

添加一個 server的節點

listen 80 監聽80端口

server_name 域名的地址 如果訪問的是weixin.wangnian.com就走代理

location / 訪問根路徑就走代理

proxy_pass配置為:http:// + upstream名稱,即“http://weixin/”

proxy_set_header Host $host:$server_port; 允許重新定義或者添加發往後端服務器的請求頭

nginx簡單代理配置