nginx 配置7層代理

node2:/etc/nginx#cat /etc/nginx/nginx.conf
events
    {
        use epoll;
        worker_connections 65535;
        multi_accept on;
    }

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

        server_names_hash_bucket_size 256;
        client_header_buffer_size 256k;
        large_client_header_buffers 4 256k;
        client_max_body_size 128m;
        client_body_buffer_size 16m;

 fastcgi_buffer_size 256k;
 fastcgi_buffers 256 16k;
 fastcgi_busy_buffers_size 256k;
 fastcgi_temp_file_write_size 256k;
 
 proxy_buffering on;
 proxy_buffer_size 1024k;
 proxy_buffers 32 8192k;
 proxy_busy_buffers_size 16384k;
 
        sendfile   on;
        tcp_nopush on;

        keepalive_timeout 120s;
 keepalive_requests 30000;
 reset_timedout_connection on;
 client_body_timeout 3m;

        tcp_nodelay on;

        gzip on;
        gzip_min_length  16k;
        gzip_buffers     8 32k;
        gzip_http_version 1.1;
        gzip_comp_level 4;
        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]\.";

        server_tokens off;
       
        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 backend1 {
    server 192.168.137.3:9000      weight=5;
   
}

 upstream backend2 {
    server 192.168.137.3:80      weight=5;
   
}

##upstream backend 位置放錯了, upstream位置應該放在http模塊裏面 但必須是在server模塊的外面

 server
 {
 listen 8090 default_server backlog=1024;
 #server_name paytest.zjtlcb.com;
 index index.html index.htm;
 #root  /app/weblogic/html/;
 #root  /app_nas/apps/deploy/html/;

           location /nginx_status  {
 stub_status on;
 access_log off;
 allow 1.2.101.1;
 allow 1.2.101.2;
 allow 1.2.101.3;
 allow 1.2.101.4;
 allow 1.2.101.5;
 allow 1.2.101.6;
 allow 1.2.101.7;
 allow 1.2.101.8;
 deny all;
 }






 location ^~ /aaa 
 {
proxy_pass http://backend1/;
 proxy_connect_timeout 300;
 proxy_send_timeout 300;
 proxy_read_timeout 300;
 }



 location ^~ /bbb 
 {
proxy_pass http://backend2/;
 proxy_connect_timeout 300;
 proxy_send_timeout 300;
 proxy_read_timeout 300;
 }
 
 }
 #include vhost/*.conf;
}


1.##upstream backend 位置放錯了, upstream位置應該放在http模塊裏面 但必須是在server模塊的外面


2.
location = /uri
= 表示精確匹配


location ^~ /uri
^ 進行前綴匹配,~ 表示區分大小寫


location ~ pattern
~ 區分大小寫的匹配


location ~* pattern
~* 不區分大小寫的匹配


location /uri
不帶任何修飾符,也表示前綴匹配,但是在正則匹配之後


location /
通用匹配,任何未匹配到其它 location 的請求都會匹配到,相當於 switch 中的 default


location !~
區分大小寫不匹配


location !~*
不區分大小寫不匹配
————————————————

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章