【Nginx】nginx 的三种反向代理方式

nginx 是我们 web 开发最常用的工具之一,所以我们需要掌握一些 nginx 的基础知识!
这里我们来看一下 ngxin 的反向代理

nginx反向代理的三种模式

  1. 基于IP代理
  2. 基于域名代理
  3. 基于端口代理

nginx.conf


worker_processes  1;

events {
    worker_connections  1024;
}

http {
	charset utf-8;
    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"';

	# log_format  main  'remote_addr=$remote_addr:$remote_port, http_x_forwarded_for=$http_x_forwarded_for, proxy_add_x_forwarded_for=$proxy_add_x_forwarded_for ';
    access_log  logs/access_format.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on
	
	# 原始server
	server {
        listen       80;
        server_name  localhost;
        location / {
            root   html;
            index  index.html index.htm;
        }
    }
	# 引入自定义的server配置
	include aden-proxy-server.conf;
}

aden-proxy-server.conf

########################################################################
# 基于端口代理
########################################################################
server {
	listen       81;
	server_name  localhost;
	location / {
		proxy_pass http://192.168.0.153:9091;
		proxy_redirect default;
	}
	location = /50x.html {
		root   html;
	}
}
server {
	listen       82;
	server_name  localhost;
	location / {
		proxy_pass http://git.thextrader.cn;
		proxy_redirect default;
	}
	location = /50x.html {
		root   html;
	}
}

########################################################################
# 基于域名代理 + gitlocal负载均衡
########################################################################
#upstream gitlocal{
#  server 192.168.0.153:9091;
#  server 192.168.0.154:9091;
#  server 192.168.0.155:9091;
#}
#upstream gitbj{
#  server git.itplh.cn;
#}
#server {
#    listen       80;
#    server_name  gitlocal.cn;
#    location / {
#        proxy_pass http://gitlocal;
#        proxy_redirect default;
#    }
#    location = /50x.html {
#        root   html;
#    }
#}
#server {
#    listen       80;
#    server_name  gitbj.cn;
#    location / {
#        proxy_pass http://gitbj;
#        proxy_redirect default;
#    }
#    location = /50x.html {
#        root   html;
#    }
#}

你可能感兴趣的:(NGINX系列)