怎么配置Nginx以代理多个后台地址

展开全部

nginx.conf的配置如下,这个是反向代理集群的配置文件。

#user  nobody;worker_processes  auto;error_log  logs/error.log;#error_log  logs/error.log  notice;error_log  logs/error.log  info;pid        logs/nginx.pid;events {    worker_connections  65535;}http {    include       mime.types;    default_type  application/octet-stream;   log_format  main  $remote_addr - $remote_user [$time_local] "$request"                      $status $body_bytes_sent "$http_referer"                       "$http_user_agent" "$http_x_forwarded_for";    access_log  logs/access.log  main;    # server_names_hash_bucket_size 128K;      client_header_buffer_size 32k;      large_client_header_buffers 4 32k;       client_body_buffer_size    8m;        server_tokens off;    ignore_invalid_headers   on;    sendfile        on;    tcp_nopush     on;    keepalive_timeout  65;    proxy_temp_path   /usr/local/nginx-1.8/proxy_temp;    proxy_cache_path /usr/local/nginx-1.8/proxy_cache levels=1:2 keys_zone=cache_one:100m inactive=2d max_size=10g;    gzip  on;    gzip_disable "MSIE [1-6].(?!.*SV1)";    gzip_min_length  1k;             gzip_buffers     4 16k;           gzip_http_version 1.0;           gzip_comp_level 2;               gzip_types   text/plain application/x-javascript text/css application/xml;          upstream name {          server 116.31.118.114:8098  weight=2 fail_timeout=3s  backup;    ----代理地址集群           server 114.55.32.244:888  weight=1 max_fails=3 fail_timeout=300;  ----代理地址集群          server 114.55.85.154:8080  weight=1 max_fails=3 fail_timeout=300;      ----代理地址集群           ip_hash;          }     server {       listen 443  default ;    ---监听端口         server_name  www.***.com;      server_tokens off;        ssl on;                       ---https配置        ssl_certificate /usr/local/nginx/conf/web.crt;  ---https配置        ssl_certificate_key /usr/local/nginx/conf/web.key;  ---https配置       error_page 497  :$server_port$request_uri;    ---https配置         location ~*/{         proxy_set_header Host $http_host;    ---获取真实IP的         proxy_set_header X-Real-IP $remote_addr;   ---获取真实IP的         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;   ---获取真实IP的          proxy_pass ;                 --反向代理        proxy_http_version 1.1;        proxy_set_header  Accept-Encoding  "";                   location ~ .*\.(gif|jpg|png|html|css|js|ico|swf|pdf)(.*) {           --缓存网站内容            proxy_pass ;            proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;            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_cache cache_one;            add_header Nginx-Cache $upstream_cache_status;            proxy_cache_valid  200 304 301 302 24h;            proxy_cache_valid 404 1m;            proxy_cache_valid  any 2d;            proxy_cache_key $host$uri$is_args$args;            expires 7d;        }       }            location ~ /purge(/.*)      {          auth_basic "TDT  Center  CACHE  Center";          auth_basic_user_file /tmp/htpasswd;          allow 127.0.0.1;          deny all;          proxy_cache_purge cache_one $host$1$is_args$args;      }        # error_page  404              /404.html;       #  error_page   400 501 502 503 504  :$server_port$request_uri;       # location = /50x.html {       #     root   html;      #  }        # redirect server error pages to the static page /50x.html        #     #   error_page   500 502 503 504  /50x.html;       }}