目 录CONTENT

文章目录

Nginx配置

Rain
2022-11-17 / 0 评论 / 0 点赞 / 238 阅读 / 1,186 字 / 正在检测是否收录...
user root;#配置用户或者组,默认为nobody
worker_processes 4;#允许生成的进程数,默认为1
worker_rlimit_nofile 65536;#打开的最多文件描述符数目,与ulimit -n 的值保持一致
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;

#pid logs/nginx.pid;


events {
worker_connections 10240;#最大连接数,默认为512
}


http {
include mime.types;#文件扩展名与文件类型映射表
default_type application/octet-stream;#默认文件类型,默认为text/plain
#access请求日志格式的默认值
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';

#access_log logs/access.log main;

sendfile on;#允许sendfile方式传输文件,默认为off,可以在http块,server块,location块。
#tcp_nopush on;


keepalive_timeout 65;#keepalive长连接超时时间,默认为75s,可以在http,server,location块

gzip on;#压缩模式开关,on开启,off关闭
gzip_min_length 1k;#开始压缩的最小长度
gzip_buffers 4 16k;#缓冲(压缩在内存中缓冲几块,每块多大)
gzip_http_version 1.1;#开始压缩的http协议版本
gzip_comp_level 4;#压缩级别(级别越高,压的越小,越浪费CPU计算资源)
gzip_types text/plain application/javascript application/x-javascript text/javascript text/css application/xml application/xml+rss;#对哪些类型的文件用压缩
gzip_vary on;#是否传输gzip压缩标志,on是,off不是
gzip_proxied expired no-cache no-store private auth;#设置请求者代理服务器,该如何缓存内容
gzip_disable "MSIE [1-6]\.";#配置禁用gzip条件,支持正则。此处表示ie6及以下不启用gzip(因为ie低版本不支持)

#upload file size control
client_max_body_size 2048m;#文件大小限制

#默认情况下,underscores_in_headers为off,表示当客户端请求头中带有下划线的字段默认将会被标识为无效字段,开启解决cookie中的部分带下划线’_'的认证信息丢失导致重复认证要求
underscores_in_headers on;
# 请求行+请求头的标准大小为1m
client_header_buffer_size 1m;
# 请求行+请求头的最大大小为4m
large_client_header_buffers 4 1m;

server {
listen 80;#nginx监听端口
server_name localhost;#监听地址

charset utf-8;#编码,默认off


location / {
root html;
index index.html index.htm;
#强制刷新缓存
#add_header Cache-Control 'private, no-store, max-age=0';
}
#oa接口
location /xx {
proxy_pass http://127.0.0.1:8080/xx;#后端代理地址
proxy_set_header Host $host;#设置 proxy_set_header Host $host 时,浏览器直接访问 nginx,获取到的 Host 是 $host 的值,没有端口信息
proxy_set_header X-Real-IP $remote_addr;#使用$remote_addr变量时获得的是用户的真实ip
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;#增加一个$proxy_add_x_forwarded_for到X-Forwarded-For变量,来获取服务器的真实ip
}

#定义错误页
error_page 404 403 500 502 503 504 /404.html;
location = /404.html {
root html;
}

}
# HTTPS server

server {
            listen 8080 ssl;#加ssl代表https,不加代表http
            server_name  域名;

            charset utf-8;#字符集
            ssl_certificate      D:/nginx-1.19.01/key/xxx.crt;#证书路径
            ssl_certificate_key  D:/nginx-1.19.01/key/xxx.key;#证书路径

            
            client_body_buffer_size 128M;#分配给请求数据的Buffer大小
            client_max_body_size 2048M;#附件上传限制大小
            ssl_protocols TLSv1.2 TLSv1.3;#设置TLSv协议版本,1.0,1.1存在漏洞
            ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;#密码加密方式
            ssl_prefer_server_ciphers off;#依赖SSLv3和TLSv1协议的服务器密码将优先于客户端密码
  
        
            ssl_session_cache    shared:SSL:1m; #缓存在所有工作进程之间共享。缓存大小按照字节为单位指定;1MB可以存储4000个会话
            ssl_session_timeout  5m; #指定客户端可以重用会话参数的时间
            #前端dist
            location / {
            root   html;
            index  index.html index.htm;
            # 强制刷新缓存
            #add_header Cache-Control 'private, no-store, max-age=0';
            }
            #接口
            location /api/ {
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;#增加一个$proxy_add_x_forwarded_for到X-Forwarded-For变量,来获取服务器的真实ip
                proxy_set_header Host $http_host;#设置 proxy_set_header Host $http_host 时,浏览器直接访问 nginx,获取到的 Host 包含浏览器请求的 IP 和端口
                proxy_set_header X-Forwarded-Proto https;#识别实际用户发出的协议https
                proxy_redirect off;#关闭所有proxy_redirect重定向指令
                proxy_pass http://127.0.0.1:8082/xx/;#代理后端地址

            }
            #定义错误页
             error_page 404 403 500 502 503 504 /404.html;
              location = /404.html {
               root html;
               }
    }
}
0

评论区