博客
关于我
Nginx反向代理
阅读量:792 次
发布时间:2023-02-15

本文共 3881 字,大约阅读时间需要 12 分钟。

实例

nginx.conf文件

#user  nobody;worker_processes  1;error_log  logs/error.log;#error_log  logs/error.log  notice;#error_log  logs/error.log  info;#pid        logs/nginx.pid;events {    worker_connections  1024;}http {	#正向代理    server {		#正向代理的端口		listen       9080;		#dns,支持配置多个		resolver  119.29.29.29;		#开启插件支持https tunnel		#proxy_connect;		#proxy_connect_allow 443;		#proxy_connect_connect_timeout 10s;		#proxy_connect_read_timeout 40s;		#proxy_connect_send_timeout 40s;		#location / {		#	proxy_pass http://$host;		#	proxy_set_header Host $host;		#	proxy_buffers 256 4k;		#	proxy_max_temp_file_size 0;		#}    }	#反向代理上游服务器-反向代理tpp-zuul-pre,支持配置多个	upstream srv_tpp-zuul-pre {		ip_hash;		server 172.168.168.108:80;		server 172.168.168.114:80;	}    	#反向代理	server {		listen 8080;		listen 443 ssl;		#ssl on;		ssl_certificate 1613208__hcepay.com.pem;		ssl_certificate_key 1613208__hcepay.com.key;		ssl_session_timeout 5m;		ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;		ssl_protocols TLSv1 TLSv1.1 TLSv1.2;		ssl_prefer_server_ciphers on;		server_name 127.0.0.1;		location / {			proxy_pass http://srv_tpp-zuul-pre;		}	}	upstream srv_fama                     	{	ip_hash;                               	server 172.168.168.112:8080;	server 172.168.168.119:8080;	}		server {			listen       8081;			server_name  127.0.0.1;			location / {				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_pass http://srv_fama;			}		}	upstream srv_acc-pre                     	{	ip_hash;                               	server 172.168.168.107:8764;	server 172.168.168.113:8764;	}		server {			listen       8764;			server_name  127.0.0.1;			location / {				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_pass http://srv_acc-pre;			}		}		upstream srv_redis                     	{	ip_hash;                               	server 172.168.168.119:7000;	server 172.168.168.119:7001;	server 172.168.168.119:7002;	server 172.168.168.119:7003;	server 172.168.168.119:7004;	server 172.168.168.119:7005;	}		server {			listen       6379;			server_name  127.0.0.1;			location / {				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_pass http://srv_redis;			}		}}#TCP方向代理tcp {        upstream srv_tpp-webgate {		ip_hash;                server 172.168.168.108:5001;                server 172.168.168.114:5001;                check interval=3000 rise=2 fall=5 timeout=1000;        }        server {                listen 5001;                proxy_pass srv_tpp-webgate;                tcp_nodelay on;        }}

proxy模块指令描述

proxy模块的可用配置指令非常多,它们分别用于定义proxy模块工作时的诸多属性,如连接超时时长、代理时使用http协议版本等。下面对常用的指令做一个简单说明。

    • proxy_connect_timeout   nginx将一个请求发送至upstream server之前等待的最大时长;

    • proxy_cookie_domain   将upstream server通过Set-Cookie首部设定的domain属性修改为指定的值,其值可以为一个字符串、正则表达式的模式或一个引用的变量;

    • proxy_cookie_path    将upstream server通过Set-Cookie首部设定的path属性修改为指定的值,其值可以为一个字符串、正则表达式的模式或一个引用的变量;

    • proxy_hide_header   设定发送给客户端的报文中需要隐藏的首部;

    • proxy_pass   指定将请求代理至upstream server的URL路径;

    • proxy_set_header   将发送至upsream server的报文的某首部进行重写;

    • proxy_redirect   重写location并刷新从upstream server收到的报文的首部;

    • proxy_send_timeout   在连接断开之前两次发送至upstream server的写操作的最大间隔时长;

    • proxy_read_timeout    在连接断开之前两次从接收upstream server接收读操作的最大间隔时长;

如下面的一个示例:

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;  client_max_body_size 10m;  client_body_buffer_size 128k;  proxy_connect_timeout 30;  proxy_send_timeout 15;  proxy_read_timeout 15;

转载于:https://www.cnblogs.com/Dev0ps/p/8134945.html

你可能感兴趣的文章
name_save matlab
查看>>
Nami 项目使用教程
查看>>
NAT-DDNS内网穿透技术,解决动态域名解析难题
查看>>
NativePHP:使用PHP构建跨平台桌面应用的新框架
查看>>
NAT技术
查看>>
NAT模式下虚拟机centOs和主机ping不通解决方法
查看>>
NAT的两种模式SNAT和DNAT,到底有啥区别?
查看>>
NAT网络地址转换配置实战
查看>>
Navicat for MySQL 命令列 执行SQL语句 历史日志
查看>>
Navicat for MySQL 查看BLOB字段内容
查看>>
Navicat Premium 12 卸载和注册表的删除
查看>>
navicat 系列软件一点击菜单栏就闪退
查看>>
Navicat 设置时间默认值(当前最新时间)
查看>>
navicat 连接远程mysql
查看>>
navicat:2013-Lost connection to MySQL server at ‘reading initial communication packet解决方法
查看>>
Navicat下载和破解以及使用
查看>>
Navicat中怎样将SQLServer的表复制到MySql中
查看>>
navicat创建连接 2002-can‘t connect to server on localhost(10061)且mysql服务已启动问题
查看>>
Navicat可视化界面导入SQL文件生成数据库表
查看>>
Navicat向sqlserver中插入数据时提示:当 IDENTITY_INSERT 设置为 OFF 时,不能向表中的标识列插入显式值
查看>>