#这里是全局块,可以配置一些全局生效的配置,比如nginx启动用户,nginx的worke_press
#user nginx; (默认为nginx用户,可以不设置)
worker_processes 3; #进程数
#错误日志打印(级别分为 debug, info, notice, warn, error, crit 默认为crit)
error_log logs/error.log debug;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#当前 nginx 住进程的 ID 号,打印日志时候一定要打开
pid logs/nginx.pid;
#event块,配置worker_connections,也是全局生效
events {
#这个属性是指单个工作进程可以允许同时建立外部连接的数量
worker_connections 1024;
}
#http块,nginx服务器配置中的重要部分,代理,缓存,日志定义等绝大部分功能以及第三方配置都可以放在这个模块中。
http {
include mime.types;
default_type application/octet-stream;
#日志格式
log_format main '$remote_addr - $remote_user [$time_iso8601] '
'fwf[$http_x_forwarded_for] tip[$http_true_client_ip] '
'$upstream_addr $upstream_response_time $request_time '
'$http_host $request '
'"$status" $body_bytes_sent "$http_referer" '
'"$http_accept_language" "$http_user_agent" ';
#打印日志
access_log logs/access.log main;
#开启高效文件传输模式
sendfile on;
# tcp_nopush on;
#长连接超时时间,单位是秒
keepalive_timeout 65;
#解决超时问题,和数据过多问题
fastcgi_buffers_ 8 16k;
fastcgi_buffer_size 32k;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_ead_timeout 300;
# gzip压缩功能设置
#gzip on;
#我们作为服务端Start#
#设定负载均衡后台服务器列表
upstream www_server_pools{
server 10.192.129.97:8080 weigh=1 ;
server 10.192.129.99:8080 weigh=1 ;
}
#每一个http块可以包含多个server块,在server块中配置虚拟主机需要监听的端口,IP或域名
#很重要的虚拟主机配置
server {
listen 7028; #监听端口
server_name localhost;
#每一个server块中可以包含多个location块,从严格意义上讲,location块只是server块的一个指令,它会接收到域名后面跟着的#字符串,根据字符串来进行匹配,对特定请求进行处理,重定向,缓存,以及应答控制等功能。
location {
root html;
index index.jsp index.html index.htm;
proxy_pass http:// www_server_pools;#配置代理服务器
# 后端的Web服务器可以通过X-Forwarded-For获取用户真实IP
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
}
error_page 500 502 503 504 /50x.html;#返回错误页
}
#我们作为服务端End#
#我们作为客户端Start#
# 设定负载均衡后台服务器列表
upstream www_server_br{
server 10.192.192.97:443 ;
}
upstream www_server_mi{
server 10.151.192.45:1210 ;
}
#配置域名,开放的端口为80,端口配不配都可(在dns中需要对域名进行解析,不然启动的时候会报错)
upstream www_server_my{
server www.lixy.sober.com;
}
upstream www_server_pr{
server 10.193.66.96:3096 ;#这个是wsdl文件路径的服务器
}
# 很重要的虚拟主机配置
server {
listen 7029;
server_name localhost;
#访问mi
location /api {
root html;
index index.jsp index.html index.htm;
proxy_pass https:// www_server_mi;
# 后端的Web服务器可以通过X-Forwarded-For获取用户真实IP
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
#访问后端需要携带证书,必须是pem格式,如果不是可以通过openssl工具进行转
proxy_ssl_certificate /home/nginx/nginx/conf/cert/bea.pem
proxy_ssl_certificate_key /home/nginx/nginx/conf/cert/bea.key
}
#访问br
location /backServer2 {
root html;
index index.jsp index.html index.htm;
proxy_pass https:// www_server_br;
# 后端的Web服务器可以通过X-Forwarded-For获取用户真实IP
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
}
#访问http://10.193.129.225:7029/services/WebserverApply?wsdl
location /services{
root html;
index index.jsp index.html index.htm;
proxy_pass http:// www_server_pr;
# 后端的Web服务器可以通过X-Forwarded-For获取用户真实IP,$server_port为监听端口 wsdl的地址
proxy_set_header Host $host:$sever_port;#第一次请求时把请求的ip+post在请求头header带过去,提供给服务端。
proxy_set_header X-Forwarded-For $remote_addr;
}
#访问my
location /HLXY99 {
root html;
index index.jsp index.html index.htm;
#解决超时问题
proxy_connect_timeout 300; #默认值60s, nginx连接到后端服务器的连接超时时间
proxy_send_timeout 300;#后端服务器数据回传时间_就是在规定时间之内后端服务器必须传完所有的数据。
proxy_read_timeout 300;#连接成功后_等候后端服务器处理请求的时间。
#解决后端服务传输数据过多,其实是header过大的问题
proxy_buffer_size 64k;
proxy_buffers 32 32k;
proxy_busy_buffers_size 128k;
proxy_pass https:// www_server_my;
# 后端的Web服务器可以通过X-Forwarded-For获取用户真实IP
proxy_set_header Host www.lixy.sober.com;#为了实现通过域名转发,$host改成域名
proxy_set_header X-Forwarded-For $remote_addr;
}
error_page 500 502 503 504 /50x.html;
}
#我们作为客户端End#
}