nginx 正向代理(上网代理) 反向代理

正向代理(上网代理)

正向代理 nginx配置

user  nginx;
worker_processes  1;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;
 
events {
	use epoll;
	worker_connections 1024;
}
 
http {
	resolver 8.8.8.8;
	server {
		listen 8088; 
		location / {
			proxy_pass http://$http_host$request_uri;
		}
	}
}

  1. 正向代理特点 增加dns解析 resolver
  2. server 没有server_name
  3. proxy_pass指令

内网服务器配置上网代理

vim /etc/profile 追加

#代理服务器
http_proxy=http://[email protected]:8088/
# http_proxy=http://用户名:密码@ip:端口/
# 如果用私钥登录 http_proxy=http://用户名@ip:端口/
https_proxy=http://[email protected]:8088/
export http_proxy https_proxy
  1. http_proxy http代理
  2. https_proxy https代理
  3. no_proxy 不使用代理的域名或ip (no_proxy=localhost,127.0.0.1,*.baidu.com)

反向代理

#负责压缩数据流
gzip              on;  
gzip_min_length   1000;  
gzip_types        text/plain text/css application/x-javascript;

#设定负载均衡的服务器列表
#weigth参数表示权值,权值越高被分配到的几率越大
upstream test{
    server 192.168.0.194:8080 weight=1;
    server 192.168.0.195:8080 weight=1; 
    server 192.168.0.195:8085 weight=1; 
}
   
server {
    #侦听的80端口
    listen       80;
    # 服务名称 可配置域名只有配置的域名才可以访问
    server_name  localhost,www.baidu.com; 
    #设定查看Nginx状态的地址
    location /nginxstatus{
         stub_status on;
         access_log on;
         auth_basic "nginxstatus";
         auth_basic_user_file htpasswd;
    }
    #匹配以jsp结尾的,tomcat的网页文件是以jsp结尾
    location / {
        index index.jsp;
        # proxy_pass   http://192.168.0.194:8080;  直接转发也可以
        proxy_pass   http://test;    #在这里设置一个代理,和upstream的名字一样
        #以下是一些反向代理的配置可删除
        proxy_redirect             off; 
        #后端的Web服务器可以通过X-Forwarded-For获取用户真实IP
        proxy_set_header           Host $host; 
        proxy_set_header           X-Real-IP $remote_addr; 
        proxy_set_header           X-Forwarded-For $proxy_add_x_forwarded_for; 
        client_max_body_size       10m; #允许客户端请求的最大单文件字节数
        client_body_buffer_size    128k; #缓冲区代理缓冲用户端请求的最大字节数
        proxy_connect_timeout      300; #nginx跟后端服务器连接超时时间(代理连接超时)
        proxy_send_timeout         300; #后端服务器数据回传时间(代理发送超时)
        proxy_read_timeout         300; #连接成功后,后端服务器响应时间(代理接收超时)
        proxy_buffer_size          4k; #设置代理服务器(nginx)保存用户头信息的缓冲区大小
        proxy_buffers              4 32k; #proxy_buffers缓冲区,网页平均在32k以下的话,这样设置
        proxy_busy_buffers_size    64k; #高负荷下缓冲大小(proxy_buffers*2)
        proxy_temp_file_write_size 64k; #设定缓存文件夹大小,大于这个值,将从upstream服务器传
    }
}

你可能感兴趣的:(运维)