nginx 역방향 에이전트 (전송 요청 - URL 일치 규칙)

역방향 대 리 는 여러 장소 에 적용 되 며 부하 균형 이 가장 보편적 인 용법 이다.
nginx 는 현재 가장 유행 하 는 웹 서버 중 하나 로 서 역방향 대 리 를 편리 하 게 실현 할 수 있 습 니 다.
nginx 역방향 에이전트 공식 문서: NGINX REVERSE PROXY
호스트 에 여러 개의 서로 다른 웹 서버 를 배치 하고 80 포트 에서 이 웹 서버 를 동시에 방문 해 야 할 때 nginx 의 역방향 프 록 시 기능 을 사용 할 수 있 습 니 다. nginx 로 80 포트 에서 모든 요청 을 감청 하고 퍼 가기 규칙 (흔히 URI 로 퍼 가기) 에 따라 해당 하 는 웹 서버 에 퍼 뜨 릴 수 있 습 니 다.
   
      ,      :
user www www;

worker_processes auto;

error_log  /home/wwwlogs/nginx_error.log  crit;

pid        /usr/local/nginx/logs/nginx.pid;

#Specifies the value for maximum file descriptors that can be opened by this process.
worker_rlimit_nofile 51200;

events
    {
        use epoll;
        worker_connections 51200;
        multi_accept on;
    }

http
    {
        include       mime.types;
        default_type  application/octet-stream;

        server_names_hash_bucket_size 128;
        client_header_buffer_size 32k;
        large_client_header_buffers 4 32k;
        client_max_body_size 50m;

        sendfile   on;
        tcp_nopush on;

        keepalive_timeout 60;

        tcp_nodelay on;

        fastcgi_connect_timeout 300;
        fastcgi_send_timeout 300;
        fastcgi_read_timeout 300;
        fastcgi_buffer_size 64k;
        fastcgi_buffers 4 64k;
        fastcgi_busy_buffers_size 128k;
        fastcgi_temp_file_write_size 256k;

        gzip on;
        gzip_min_length  1k;
        gzip_buffers     4 16k;
        gzip_http_version 1.1;
        gzip_comp_level 2;
        gzip_types     text/plain application/javascript application/x-javascript text/javascript text/css application/xml application/xml+rss;
        gzip_vary on;
        gzip_proxied   expired no-cache no-store private auth;
        gzip_disable   "MSIE [1-6]\.";

        #limit_conn_zone $binary_remote_addr zone=perip:10m;
        ##If enable limit_conn_zone,add "limit_conn perip 10;" to server section.

        server_tokens off;
        #log format
        log_format  access  '$remote_addr - $remote_user [$time_local] "$request" '
             '$status $body_bytes_sent "$http_referer" '
             '"$http_user_agent" $http_x_forwarded_for';
		access_log off;
		
		
	upstream web_pools{
		server 127.0.0.1:8080;
	}
		 #HTTP   
    server {
        #  80  ,80        ,  HTTP  
        listen       80;
        #    www.xx.com  
        #server_name  www.helloworld.com;
		server_name  http://47.1**.1**.195; #            
		


        #       ( upstream  ),location          
        location /hh {
            proxy_pass http://47.1**.1**.195:8090/hh/check;
			#proxy_pass http://47.1**.1**.195:8090/hh/index;
			#proxy_pass http://www.baidu.com;
        }
		location /aaaaaa/ {   # /jm-kefu-weixin/                 
            proxy_pass http://47.1**.1**.195:9090/bbbbbb/;
			#proxy_pass http://47.1**.1**.195:8090/aaaaaa/index;
			#proxy_pass http://www.baidu.com;
        }
	}
		
		
include vhost/*.conf;
include /usr/local/nginx/conf/conf.d/*.conf;
}


        url-->  http://47.1**.1**.195/aaaaaa/index
 nginx    ip,  ,             
http://47.1**.1**.195/aaaaaa/index ----->     http://47.1**.1**.195:9090/bbbbbb/index ;
   index                 
    
    webmail , webcom    webdefault            portmail , portcom , portdefault   ,    80         web   ,    80     nginx,     /mail         webmail    ,   /com        webcom    ,            webdefault    。

        example.com,     nginx http    :
http {
    server {
            server_name example.com;
 
            location /mail/ {
                    proxy_pass http://example.com:protmail/;
            }
 
            location /com/ {
                    proxy_pass http://example.com:portcom/main/;
            }
 
            location / {
                    proxy_pass http://example.com:portdefault;
            }
    }
}


               ( GET   POST       ):
  http://example.com/mail/         http://example.com:portmail/
  http://example.com/com/         http://example.com:portcom/main/
           http://example.com:portdefault/
         :

http://example.com/mail/index.html -> http://example.com:portmail/index.html
http://example.com/com/index.html -> http://example.com:portcom/main/index.html
http://example.com/mail/static/a.jpg -> http://example.com:portmail/static/a.jpg
http://example.com/com/static/b.css -> http://example.com:portcom/main/static/b.css
http://example.com/other/index.htm -> http://example.com:portdefault/other/index.htm
      ,       ,webdefault              URI ,  webmail   webcom             URI (    /   /main/)。 
             URI , URI     location     URI  。 
               URI ,        URL         。

      :

If the URI is specified along with the address, it replaces the part of the request URI that matches the location parameter. 
If the address is specified without a URI, or it is not possible to determine the part of URI to be replaced, the full request URI is passed (possibly, modified).

좋은 웹페이지 즐겨찾기