#user nobody;javascript
#双核2个进程
#worker_processes 2;
#worker_cpu_affinity 01 10; php
#8核开启8个进程
worker_processes 8;
worker_cpu_affinity 10000000 01000000 00100000 00010000 00001000 00000100 00000010 00000001; css
error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;html
pid logs/nginx.pid;java
# 每进程最大可打开文件描述符数量(linux上文件描述符比较广义,网络端口、设备、磁盘文件都是)
# 文件描述符用完了,新的链接会被拒绝,产生502类错误
# linux最大可打开文件数可经过ulimit -n FILECNT或 /etc/security/limits.conf配置
# 理论值 系统最大数量 / 进程数。但进程间工做量并非平均分配的,因此能够设置的大一些
#设置了这个后,修改worker_connections值时,是不能超过worker_rlimit_nofile的这个值。
worker_rlimit_nofile 65000; linux
events {nginx
#使用最高效的IO模式
use epoll;
#单个进程最大链接数
# 并发响应能力的关键配置值
# 每一个进程容许的最大同时链接数,work_connectins * worker_processes = maxConnection;
# 要注意maxConnections不等同于可响应的用户数量,
# 由于通常一个浏览器会同时开两条链接,若是反向代理,nginx到后端服务器的链接也要占用链接数
# 因此,作静态服务器时,通常 maxClient = work_connectins * worker_processes / 2
# 作反向代理服务器时 maxClient = work_connectins * worker_processes / 4
# 这个值理论上越大越好,但最多可承受多少请求与配件和网络相关,也可最大可打开文件,最大可用sockets数量(约64K)有关
worker_connections 10480;
}web
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"';apache
#access_log logs/access.log main;
# 关闭此项可减小IO开销,但也没法记录访问信息,不利用业务分析,通常运维状况不建议使用,
#若是不须要查看访问日志必须设置为0ff由于若是不设置为off那么它会自动打印的,注释了都没有用的
access_log off;
server_tokens off; # 控制版本为了安全
underscores_in_headers on; #若是将其设置为off,那么当出现不合法的HTTP头部时,Nginx会拒绝 #服务,并直接向用户发送400(Bad Request)错误。若是将其设置为on,则会忽略此HTTP头部。
sendfile on;
#防止网络阻塞
tcp_nopush on;
#keepalive_timeout 0;
# HTTP1.1支持持久链接alive
# 下降每一个链接的alive时间可在必定程度上提升可响应链接数量,因此通常可适当下降此值
#长链接超时时间,单位是秒
keepalive_timeout 50;
#默认状况下,Nginx的gzip压缩是关闭的, gzip压缩功能就是可让你节省很多带宽,可是会增长服务器CPU的开销哦
#若是开启了反向代理,那么须要注意了,反向代理时候若是配置很差,有多是会卡死的
#开启压缩
gzip on;
#为指定的客户端禁用gzip功能,IE6或者更低版本禁用,IE6不支持压缩,为了兼容性
gzip_disable "msie6";
#判断客户端是否支持gzip压缩,若是不支持就不开启压缩
gzip_vary on;
#gzip压缩用于http1.1协议
#gzip_http_version 1.1;
#gzip_static 告诉nginx在压缩资源以前,先查找是否有预先gzip处理过的资源。
#这要求你预先压缩你的文件(在这个例子中被注释掉了),
#从而容许你使用最高压缩比,这样nginx就不用再压缩这些文件了
# gzip_static on;
#默认值: gzip_buffers 4 4k/8k
#做用域: http, server, location
#设置系统获取几个单位的缓存用于存储gzip的压缩结果数据流。 例如 4 4k 表明以4k为单位,按照原始数据大小以4k为单位的4倍申请内存。
# 4 8k 表明以8k为单位,按照原始数据大小以8k为单位的4倍申请内存。
#若是没有设置,默认值是申请跟原始数据相同大小的内存空间去存储gzip压缩结果
gzip_buffers 4 16k;
#Nginx做为反向代理的时候启用,开启或者关闭后端服务器返回的结果,匹配的前提是后端服务器必需要返回包含”Via”的 header头。
#容许或者禁止压缩基于请求和响应的响应流。咱们设置为any,意味着将会压缩全部的请求
#off 代理不压缩,默认设置是off,可是测试的时候发现这个配置不起做用,仍是压缩了 若是代理服务器已经将对应的文件压缩了,那么这里不会对其再次压缩的,若是没有压缩,则会压缩
#gzip_proxied off;
#设置对数据启用压缩的最少字节数。若是一个请求小于1000字节,咱们最好不要压缩它,由于压缩这些小的数据会下降处理此请求的全部进程的速度。
# 太短的内容压缩效果不佳,压缩过程还会浪费系统资源
gzip_min_length 2048;
#设置数据的压缩等级。这个等级能够是1-9之间的任意数值,9是最慢可是压缩比最大的。咱们设置为4,这是一个比较折中的设置
gzip_comp_level 6;
#设置须要压缩的数据格式。下面例子中已经有一些了,你也能够再添加更多的格式。设置哪压缩种文本文件可参考 conf/mime.types text/html无效了
gzip_types application/javascript text/plain text/css application/x-javascript application/xml application/xml+rss text/javascript;
server {
#使用HTTPS 而且开启SSL
listen 443 ssl;
server_name www.qzhibao.com;
charset utf-8;
#access_log logs/host.access.log main;
#下面是专为 SSL的 配置
#公钥
#证书实际上是个公钥,它会被发送到链接服务器的每一个客户端,ssl_certificate_key私钥是用来解密的,因此它的权限要获得保护但nginx的主进程可以读取。
#固然私钥和证书能够放在一个证书文件中,这种方式也只有公钥证书才发送到client。
ssl_certificate /data/source/ssl_nginx/my_ssl/ssl-bundle.crt;
#私钥
ssl_certificate_key /data/source/ssl_nginx/myserver4.key;
#设置ssl/tls会话缓存的类型和大小。若是设置了这个参数通常是shared,buildin可能会参数内存碎片,
#默认是none,和off差很少,停用缓存。如shared:SSL:10m表示我全部的nginx工做进程共享ssl会话缓存,官网介绍说1M能够存放约4000个sessions。
#Session cache 的原理是使用 client hello 中的 session id 查询服务端的 session cache, 若是服务端有对应的缓存,
#则直接使用已有的 session 信息提早完成握手,称为简化握手。
#须要消耗服务端内存来存储 session 内
#session id 是 TLS 协议的标准字段,市面上的浏览器所有都支持 session cache。
ssl_session_cache shared:SSL:10m;
#客户端能够重用会话缓存中ssl参数的过时时间,内网系统默认5分钟过短了,能够设成30m即30分钟甚至4h。
ssl_session_timeout 30m;
#设置较长的keepalive_timeout也能够减小请求ssl会话协商的开销,但同时得考虑线程的并发数了
#keepalive_timeout 50;
#ssl_protocols指令用于启动特定的加密协议,nginx在1.1.13和1.0.12版本后默认是ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2,
# TLSv1.1与TLSv1.2要确保OpenSSL >= 1.0.1 ,SSLv3 如今还有不少地方在用但有很多被攻击的漏洞。
ssl_protocols SSLv2 SSLv3 TLSv1;
#这里就是定义服务器的验证算法 ,加密算法
#ssl_ciphers选择加密套件,不一样的浏览器所支持的套件(和顺序)可能会不一样。
#这里指定的是OpenSSL库可以识别的写法,你能够经过 openssl -v cipher 'RC4:HIGH:!aNULL:!MD5'(后面是你所指定的套件加密算法) 来看所支持算法。
ssl_ciphers "ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4";
#使用上面说明的 nginx配置的 验证算法,加密算法
#设置协商加密算法时,优先使用咱们服务端的加密套件,而不是客户端浏览器的加密套件
ssl_prefer_server_ciphers on;
location ~.*\.(jpg|jpeg|png|doc|gif|htm|html|bmp|swf|ioc|rar|zip|txt|flv|mid|ppt|pdf|xls|mp3|wma)$ {
#配置Nginx动静分离,定义的静态页面直接从Nginx发布目录读取,不过发布项目的时候得将项目也发到nginx的发布目录。这样作针对的是远程的动静分离,特别是负载均衡的时候更加须要使用了
#也能够是后端服务器的项目地址,好比tomcat的,这样比较方便,不用将项目再次发布到nginx里面的,这样作针对与本地的动静分离
#root html;
#root D:/tomcat/7.65/apache-tomcat-7.0.65-windows-x86/apache-tomcat-7.0.65/webapps;
#root /data/web/qzb_pc/target/qzb_pc-1.0-SNAPSHOT/WEB-INF/jsp;
root /data/web/qzbpc/target/qzbpc-1.0-SNAPSHOT/WEB-INF/jsp;
#expires定义用户浏览器缓存的时间为15天,若是静态页面不常更新,能够设置更长,这样能够节省带宽和缓解服务器的压力
expires 7d;
}
location / {
#后端服务器数据回传时间(代理发送超时)
proxy_connect_timeout 60s;
#后端服务器数据回传时间(代理发送超时)
proxy_send_timeout 60s;
#链接成功后,后端服务器响应时间(代理接收超时)
proxy_read_timeout 60s;
#容许客户端请求的最大单文件字节数
client_max_body_size 10m;
#proxy_buffering:该指令控制缓冲是否启用。默认状况下,它的值是“on”。
#缓冲区代理缓冲用户端请求的最大字节数
client_body_buffer_size 128k;
#设置代理服务器(nginx)保存用户头信息的缓冲区大小
#从后端服务器的响应头缓冲区大小,它包含headers,和其余部分响应是分开的。
#该指令设置响应部分的缓冲区大小。默认状况下,它和proxy_buffers是相同的尺寸,
#但由于这是用于头信息,这一般能够设置为一个较低的值。
proxy_buffer_size 4k;
#proxy_buffers缓冲区,网页平均在32k如下的设置
#该指令控制代理响应缓冲区的数量(第一个参数)和大小(第二个参数)。
#默认配置是8个缓冲区大小等于一个内存页(4K或者8K)。
#增长缓冲区的数目可让你缓冲更多信息。
proxy_buffers 4 32k;
#高负荷下缓冲大小(proxy_buffers*2)
#此指令设置标注“client-ready”缓冲区的最大尺寸。
#而客户端能够一次读取来自一个缓冲区的数据,缓冲被放置在队列中,批量发送到客户端。
#此指令控制容许是在这种状态下的缓冲空间的大小。
proxy_busy_buffers_size 64k;
#设定缓存文件夹大小,大于这个值,将从upstream服务器传
#这是每一个请求能用磁盘上临时文件最大大小。
#这些当上游响应太大不能装配到缓冲区时被建立
#没有设置缓存文件夹,因此不能直接设置这个,不然报错
#proxy_max_temp_file_size 2048m;
#这是当被代理服务器的响应过大时Nginx一次性写入临时文件的数据量。
proxy_temp_file_write_size 64k;
# root html;
# index index.html index.htm;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
#后端的Web服务器能够经过X-Forwarded-For获取用户真实IP
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://www.qzhibao.com:9090;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
server{
listen 80;
server_name qzhibao.com www.qzhibao.com;
charset utf-8;
location ~.webscan_360_cn\.(html)$ {
#配置Nginx动静分离,定义的静态页面直接从Nginx发布目录读取,不过发布项目的时候得将项目也发到nginx的发布目录。这样作针对的是远程的动静分离,特别是负载均衡的时候更加须要使用了
#也能够是后端服务器的项目地址,好比tomcat的,这样比较方便,不用将项目再次发布到nginx里面的,这样作针对与本地的动静分离
#root html;
#root D:/tomcat/7.65/apache-tomcat-7.0.65-windows-x86/apache-tomcat-7.0.65/webapps;
#root /data/web/qzb_pc/target/qzb_pc-1.0-SNAPSHOT/WEB-INF/jsp;
root /data/web/qzbpc/target/qzbpc-1.0-SNAPSHOT/WEB-INF/jsp;
#expires定义用户浏览器缓存的时间为15天,若是静态页面不常更新,能够设置更长,这样能够节省带宽和缓解服务器的压力
#expires 7d;
}
location / {
#必须将rewrite放入location里面,不然上面的localtion那个就不起效果了
rewrite ^(.*) https://www.qzhibao.com$1 permanent;
}
}
server{
#监听443端口,由于https默认的端口就是443的,就算没有使用ssl证书,也是能够安全的打开和使用的,不会提示不安全,若是使用不够好的ssl,浏览器可能会拦截的
listen 443;
server_name qzhibao.com;
charset utf-8;
rewrite ^(.*) https://www.qzhibao.com$1 permanent;
}
server{
listen 80;
server_name m.qzhibao.com;
charset utf-8;
rewrite ^(.*) https://m.qzhibao.com$1 permanent;
}
server {
#listen 80;
listen 443 ssl;
server_name m.qzhibao.com;
charset utf-8;
#access_log logs/host.access.log main;
#下面是专为 SSL的 配置
#公钥
#证书实际上是个公钥,它会被发送到链接服务器的每一个客户端,ssl_certificate_key私钥是用来解密的,因此它的权限要获得保护但nginx的主进程可以读取。
#固然私钥和证书能够放在一个证书文件中,这种方式也只有公钥证书才发送到client。
ssl_certificate /data/source/ssl_nginx/my_ssl/ssl-bundle.crt;
#私钥
ssl_certificate_key /data/source/ssl_nginx/myserver4.key;
#设置ssl/tls会话缓存的类型和大小。若是设置了这个参数通常是shared,buildin可能会参数内存碎片,
#默认是none,和off差很少,停用缓存。如shared:SSL:10m表示我全部的nginx工做进程共享ssl会话缓存,官网介绍说1M能够存放约4000个sessions。
#Session cache 的原理是使用 client hello 中的 session id 查询服务端的 session cache, 若是服务端有对应的缓存,
#则直接使用已有的 session 信息提早完成握手,称为简化握手。
#须要消耗服务端内存来存储 session 内
#session id 是 TLS 协议的标准字段,市面上的浏览器所有都支持 session cache。
ssl_session_cache shared:SSL:10m;
#客户端能够重用会话缓存中ssl参数的过时时间,内网系统默认5分钟过短了,能够设成30m即30分钟甚至4h。
ssl_session_timeout 30m;
#设置较长的keepalive_timeout也能够减小请求ssl会话协商的开销,但同时得考虑线程的并发数了
#keepalive_timeout 50;
#ssl_protocols指令用于启动特定的加密协议,nginx在1.1.13和1.0.12版本后默认是ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2,
# TLSv1.1与TLSv1.2要确保OpenSSL >= 1.0.1 ,SSLv3 如今还有不少地方在用但有很多被攻击的漏洞。
ssl_protocols SSLv2 SSLv3 TLSv1;
#这里就是定义服务器的验证算法 ,加密算法
#ssl_ciphers选择加密套件,不一样的浏览器所支持的套件(和顺序)可能会不一样。
#这里指定的是OpenSSL库可以识别的写法,你能够经过 openssl -v cipher 'RC4:HIGH:!aNULL:!MD5'(后面是你所指定的套件加密算法) 来看所支持算法。
ssl_ciphers "ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4";
#使用上面说明的 nginx配置的 验证算法,加密算法
#设置协商加密算法时,优先使用咱们服务端的加密套件,而不是客户端浏览器的加密套件
ssl_prefer_server_ciphers on;
location ~.*\.(jpg|jpeg|png|doc|gif|htm|html|bmp|swf|ioc|rar|zip|txt|flv|mid|ppt|pdf|xls|mp3|wma)$ {
#配置Nginx动静分离,定义的静态页面直接从Nginx发布目录读取,不过发布项目的时候得将项目也发到nginx的发布目录。这样作针对的是远程的动静分离,特别是负载均衡的时候更加须要使用了
#也能够是后端服务器的项目地址,好比tomcat的,这样比较方便,不用将项目再次发布到nginx里面的,这样作针对与本地的动静分离
#root html;
#root D:/tomcat/7.65/apache-tomcat-7.0.65-windows-x86/apache-tomcat-7.0.65/webapps;
#root /data/web/qzb_2/target/qzb-2.0-SNAPSHOT/WEB-INF/jsp;
root /data/web/qzb/target/qzb-2.0-SNAPSHOT/WEB-INF/jsp;
#expires定义用户浏览器缓存的时间为15天,若是静态页面不常更新,能够设置更长,这样能够节省带宽和缓解服务器的压力
expires 7d;
}
location / {
#后端服务器数据回传时间(代理发送超时)
proxy_connect_timeout 60s;
#后端服务器数据回传时间(代理发送超时)
proxy_send_timeout 60s;
#链接成功后,后端服务器响应时间(代理接收超时)
proxy_read_timeout 60s;
#容许客户端请求的最大单文件字节数
client_max_body_size 10m;
#proxy_buffering:该指令控制缓冲是否启用。默认状况下,它的值是“on”。
#缓冲区代理缓冲用户端请求的最大字节数
client_body_buffer_size 128k;
#设置代理服务器(nginx)保存用户头信息的缓冲区大小
#从后端服务器的响应头缓冲区大小,它包含headers,和其余部分响应是分开的。
#该指令设置响应部分的缓冲区大小。默认状况下,它和proxy_buffers是相同的尺寸,
#但由于这是用于头信息,这一般能够设置为一个较低的值。
proxy_buffer_size 4k;
#proxy_buffers缓冲区,网页平均在32k如下的设置
#该指令控制代理响应缓冲区的数量(第一个参数)和大小(第二个参数)。
#默认配置是8个缓冲区大小等于一个内存页(4K或者8K)。
#增长缓冲区的数目可让你缓冲更多信息。
proxy_buffers 4 32k;
#高负荷下缓冲大小(proxy_buffers*2)
#此指令设置标注“client-ready”缓冲区的最大尺寸。
#而客户端能够一次读取来自一个缓冲区的数据,缓冲被放置在队列中,批量发送到客户端。
#此指令控制容许是在这种状态下的缓冲空间的大小。
proxy_busy_buffers_size 64k;
#设定缓存文件夹大小,大于这个值,将从upstream服务器传
#这是每一个请求能用磁盘上临时文件最大大小。
#这些当上游响应太大不能装配到缓冲区时被建立
#没有设置缓存文件夹,因此不能直接设置这个,不然报错
#proxy_max_temp_file_size 2048m;
#这是当被代理服务器的响应过大时Nginx一次性写入临时文件的数据量。
proxy_temp_file_write_size 64k;
# root html;
# index index.html index.htm;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
#后端的Web服务器能够经过X-Forwarded-For获取用户真实IP
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://m.qzhibao.com:9090;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
server {
listen 9446 ssl;
server_name m.qzhibao.com;
charset utf-8;
#access_log logs/host.access.log main;
#下面是专为 SSL的 配置
#公钥
#证书实际上是个公钥,它会被发送到链接服务器的每一个客户端,ssl_certificate_key私钥是用来解密的,因此它的权限要获得保护但nginx的主进程可以读取。
#固然私钥和证书能够放在一个证书文件中,这种方式也只有公钥证书才发送到client。
ssl_certificate /data/source/ssl_nginx/my_ssl/ssl-bundle.crt;
#私钥
ssl_certificate_key /data/source/ssl_nginx/myserver4.key;
#设置ssl/tls会话缓存的类型和大小。若是设置了这个参数通常是shared,buildin可能会参数内存碎片,
#默认是none,和off差很少,停用缓存。如shared:SSL:10m表示我全部的nginx工做进程共享ssl会话缓存,官网介绍说1M能够存放约4000个sessions。
#Session cache 的原理是使用 client hello 中的 session id 查询服务端的 session cache, 若是服务端有对应的缓存,
#则直接使用已有的 session 信息提早完成握手,称为简化握手。
#须要消耗服务端内存来存储 session 内
#session id 是 TLS 协议的标准字段,市面上的浏览器所有都支持 session cache。
ssl_session_cache shared:SSL:10m;
#客户端能够重用会话缓存中ssl参数的过时时间,内网系统默认5分钟过短了,能够设成30m即30分钟甚至4h。
ssl_session_timeout 30m;
#设置较长的keepalive_timeout也能够减小请求ssl会话协商的开销,但同时得考虑线程的并发数了
#keepalive_timeout 50;
#ssl_protocols指令用于启动特定的加密协议,nginx在1.1.13和1.0.12版本后默认是ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2,
# TLSv1.1与TLSv1.2要确保OpenSSL >= 1.0.1 ,SSLv3 如今还有不少地方在用但有很多被攻击的漏洞。
ssl_protocols SSLv2 SSLv3 TLSv1;
#这里就是定义服务器的验证算法 ,加密算法
#ssl_ciphers选择加密套件,不一样的浏览器所支持的套件(和顺序)可能会不一样。
#这里指定的是OpenSSL库可以识别的写法,你能够经过 openssl -v cipher 'RC4:HIGH:!aNULL:!MD5'(后面是你所指定的套件加密算法) 来看所支持算法。
ssl_ciphers "ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4";
#使用上面说明的 nginx配置的 验证算法,加密算法
#设置协商加密算法时,优先使用咱们服务端的加密套件,而不是客户端浏览器的加密套件
ssl_prefer_server_ciphers on;
#目前不要缓存js和css由于常常更新
location ~.*\.(jpg|jpeg|png|doc|gif|htm|html|bmp|swf|ioc|rar|zip|txt|flv|mid|ppt|pdf|xls|mp3|wma)$ {
#配置Nginx动静分离,定义的静态页面直接从Nginx发布目录读取,不过发布项目的时候得将项目也发到nginx的发布目录。这样作针对的是远程的动静分离,特别是负载均衡的时候更加须要使用了
#也能够是后端服务器的项目地址,好比tomcat的,这样比较方便,不用将项目再次发布到nginx里面的,这样作针对与本地的动静分离
#root html;
#root D:/tomcat/7.65/apache-tomcat-7.0.65-windows-x86/apache-tomcat-7.0.65/webapps;
#root /data/web/qzb_2/target/qzb-2.0-SNAPSHOT/WEB-INF/jsp;
root /data/web/qzb_app/target/qzb_app-1.0-SNAPSHOT/WEB-INF/jsp;
#expires定义用户浏览器缓存的时间为15天,若是静态页面不常更新,能够设置更长,这样能够节省带宽和缓解服务器的压力
expires 7d;
}
location / {
#后端服务器数据回传时间(代理发送超时)
proxy_connect_timeout 60s;
#后端服务器数据回传时间(代理发送超时)
proxy_send_timeout 60s;
#链接成功后,后端服务器响应时间(代理接收超时)
proxy_read_timeout 60s;
#容许客户端请求的最大单文件字节数
client_max_body_size 10m;
#proxy_buffering:该指令控制缓冲是否启用。默认状况下,它的值是“on”。
#缓冲区代理缓冲用户端请求的最大字节数
client_body_buffer_size 128k;
#设置代理服务器(nginx)保存用户头信息的缓冲区大小
#从后端服务器的响应头缓冲区大小,它包含headers,和其余部分响应是分开的。
#该指令设置响应部分的缓冲区大小。默认状况下,它和proxy_buffers是相同的尺寸,
#但由于这是用于头信息,这一般能够设置为一个较低的值。
proxy_buffer_size 4k;
#proxy_buffers缓冲区,网页平均在32k如下的设置
#该指令控制代理响应缓冲区的数量(第一个参数)和大小(第二个参数)。
#默认配置是8个缓冲区大小等于一个内存页(4K或者8K)。
#增长缓冲区的数目可让你缓冲更多信息。
proxy_buffers 4 32k;
#高负荷下缓冲大小(proxy_buffers*2)
#此指令设置标注“client-ready”缓冲区的最大尺寸。
#而客户端能够一次读取来自一个缓冲区的数据,缓冲被放置在队列中,批量发送到客户端。
#此指令控制容许是在这种状态下的缓冲空间的大小。
proxy_busy_buffers_size 64k;
#设定缓存文件夹大小,大于这个值,将从upstream服务器传
#这是每一个请求能用磁盘上临时文件最大大小。
#这些当上游响应太大不能装配到缓冲区时被建立
#没有设置缓存文件夹,因此不能直接设置这个,不然报错
#proxy_max_temp_file_size 2048m;
#这是当被代理服务器的响应过大时Nginx一次性写入临时文件的数据量。
proxy_temp_file_write_size 64k;
# root html;
# index index.html index.htm;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
#后端的Web服务器能够经过X-Forwarded-For获取用户真实IP
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://m.qzhibao.com:9292;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
#server{
# listen 80;
# server_name t2.qzhibao.com;
# charset utf-8;
#能够跳转的,301重定向, permanent是永久跳转, redirect是单次重定向使用
# rewrite ^(.*) http://tpc.qzhibao.com:9090$1 permanent;
#
#}
# another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
# listen 8000;
# listen somename:8080;
# server_name somename alias another.alias;
# location / {
# root html;
# index index.html index.htm;
# }
#}
# HTTPS server
#
#server {
#监听443 端口,而且开启 ssl 的证书模式
# listen 443 ssl;
# server_name localhost;
# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;
# ssl_session_cache shared:SSL:1m;
# ssl_session_timeout 5m;
# ssl_ciphers HIGH:!aNULL:!MD5;
# ssl_prefer_server_ciphers on;
# location / {
# root html;
# index index.html index.htm;
# }
#}
}