#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 {
include mime.types;
default_type application/octet-stream;
keepalive_timeout 65;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
# 数值必须是32的倍数
server_names_hash_bucket_size 64;
# 开启gzip
gzip on;
# 启用gzip压缩的最小文件,小于设置值的文件将不会压缩
gzip_min_length 1k;
# gzip 压缩级别,1-9,数字越大压缩的越好,也越占用CPU时间
gzip_comp_level 4;
# 进行压缩的文件类型。javascript有多种形式。其中的值可以在 mime.types 文件中找到。
gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/bmp application/x-bmp image/x-ms-bmp application/vnd.ms-fontobject font/ttf font/opentype font/x-woff;
# 是否在http header中添加Vary: Accept-Encoding,建议开启
gzip_vary on;
# 禁用IE 6 gzip
gzip_disable "MSIE [1-6]/.";
# 设置压缩所需要的缓冲区大小
gzip_buffers 32 4k;
# 设置gzip压缩针对的HTTP协议版本
gzip_http_version 1.1;
server {
listen 83;
server_name localhost;
client_max_body_size 1000M;
# = 开头表示精确匹配,如 = /,后面不能带任何字符串,精确匹配 / ,主机名后面不能带任何字符串;
# ^~ 开头表示uri以某个常规字符串开头,不是正则匹配,如^~ /images/ 匹配任何以 /images/ 开头的地址,匹配符合以后,停止往下搜索正则,采用这一条;
# ~ 开头表示区分大小写的正则匹配;
# ~* 开头表示不区分大小写的正则匹配;
# / 通用匹配, 如果没有其它匹配,任何请求都会匹配到。
# 优先级 ( location = ) > ( location 完整路径 ) > ( location ^~ 路径 ) > ( location * 正则顺序 ) > ( location 部分起始路径 ) > ( / )
location / {
root D:/preject/nginx-demo;
# index index.html;
# 如果不写上 $uri/,当直接访问一个目录路径时,并不会去匹配目录下的索引页
# 比如 请求 http://locahost:83/test.html
# 会依次查找 1.文件D:/preject/nginx-demo/test.html 2.文件夹 D:/preject/nginx-demo/test.html下的index文件 3. 请求D:/preject/nginx-demo/index.html
try_files $uri $uri/ /index.html;
if ($request_filename ~* .*/.(?:htm|html)$){
# 这里注意:no-cache与no-store的区别,no-cache表示不缓存过期资源,缓存会向服务器进行有效处理确认之后处理资源,而no-store才是真正的不进行缓存。
add_header Cache-Control "private, no-store, no-cache, must-revalidate, proxy-revalidate";
}
if ($request_filename ~* .*/.(?:js|css)$) {
expires max;
}
if ($request_filename ~* .*/.(?:jpg|jpeg|gif|png|ico|cur|gz|svg|svgz|mp4|ogg|ogv|webm)$){
expires max;
}
}
location ^~/baiduImg/ {
# 代理转发时,如果在proxy_pass后面的url加/,表示绝对根路径;如果没有/,表示相对路径,把匹配的路径部分也给代理走。
proxy_pass https://img0.baidu.com/;
}
location ^~/baidu/ {
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 https://www.baidu.com/;
}
}
server {
listen 83;
server_name localuat-epec.sinopec.com;
location / {
root D:/preject/nginx-demo/sinopec;
index index.html index.htm;
try_files $uri $uri/ /index.html;
if ($request_filename ~* .*/.(?:htm|html)$){
add_header Cache-Control "private, no-store, no-cache, must-revalidate, proxy-revalidate";
}
if ($request_filename ~* .*/.(?:js|css)$) {
expires max;
}
if ($request_filename ~* .*/.(?:jpg|jpeg|gif|png|ico|cur|gz|svg|svgz|mp4|ogg|ogv|webm)$){
expires max;
}
if ($request_filename ~* .*/.(?:woff|ttf)$){
add_header 'Access-Control-Allow-Origin' 'http://localuat-epec.sinopec.com:8000' always;
add_header 'Access-Control-Allow-Methods' 'GET';
add_header 'Access-Control-Allow-Credentials' true;
add_header 'Access-Control-Allow-Headers' 'X-Requested-With,Content-Type';
expires 7d;
}
}
}
server {
listen 84;
server_name localuat-epec.sinopec.com;
location / {
root D:/preject/product-front/product;
index index.html index.htm;
#try_files $uri $uri/ /index.html;
if ($request_filename ~* .*/.(?:htm|html)$){
add_header Cache-Control "private, no-store, no-cache, must-revalidate, proxy-revalidate";
}
if ($request_filename ~* .*/.(?:js|css)$) {
expires max;
}
if ($request_filename ~* .*/.(?:jpg|jpeg|gif|png|ico|cur|gz|svg|svgz|mp4|ogg|ogv|webm)$){
expires max;
}
if ($request_filename ~* .*/.(?:woff|ttf)$){
add_header 'Access-Control-Allow-Origin' 'http://localuat-epec.sinopec.com:8000' always;
add_header 'Access-Control-Allow-Methods' 'GET';
add_header 'Access-Control-Allow-Credentials' true;
add_header 'Access-Control-Allow-Headers' 'X-Requested-With,Content-Type';
expires 7d;
}
}
}
server {
listen 443 ssl;
server_name git.paas.sinopec.com;
ssl_certificate server.crt;
ssl_certificate_key server.key;
#设置存储session参数的缓存的类型和大小。缓存可以是下面任何一种类型
#off 严格禁止使用会话缓存:nginx明确告知客户端会话不可重用。
#none 会话缓存是不允许的:nginx告知客户端会话可以重用,但并没有在缓存中存储会话参数。
#builtin 在OpenSSL中构建缓存;只能被一个工作进程使用。缓存的大小在会话中指定,如果没有指定大小,默认20480个会话。使用内置缓存会导致内存碎片化。
#shared 缓存在所有工作进程之间共享。缓存大小按照字节为单位指定;1MB可以存储4000个会话。每块共享内存都应该起个名字。同一块缓存可以在多个虚拟服务中使用。
#启用 SSL Session 缓存可以大大减少 TLS 的反复验证,减少 TLS 握手的 roundtrip。虽然 session 缓存会占用一定内存,但是用 1M 的内存就可以缓存 4000 个连接,可以说是非常非常划算的。同时,对于绝大多数网站和服务,要达到 4000 个同时连接本身就需要非常非常大的用户基数
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
# 限制请求体的大小,若超过所设定的大小,返回413错误。
client_max_body_size 1000M;
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 https://git.paas.sinopec.com;
}
}
}
共有 0 条评论