03月12, 2020

对NGINX的一些优化配置

以下是本人的配置,只供参考,出事不管

生成dhparam.pem文件

openssl dhparam -dsaparam -out /usr/local/etc/nginx/ssl/dhparam.pem 4096

以下为nginx.conf文件

#不发送Nginx版本号
server_tokens off; #将HTTP跳转为HTTPS

server {
    listen 80;
    server_name   moebsd.cn www.moebsd.cn;
    rewrite ^(.*) https://www.moebsd.cn$1 permanent;
}

#启用session resumption 提高HTTPS性能

ssl_session_cache shared:SSL:50m;
ssl_session_timeout 1d;
ssl_session_tickets off;

#启用服务器端保护

ssl_prefer_server_ciphers on;
ssl_early_data on;
ssl_session_timeout 5m;

#证书传输用的
ssl_dhparam /etc/nginx/ssl/dhparam.pem;
#配置安全证书

ssl_certificate  /usr/local/www/ssl/www.moebsd.cn.pem;
ssl_certificate_key /usr/local/www/ssl/www.moebsd.cn.key;

#加密协议版本
ssl_protocols TLSv1.3 TLSv1.2;
#加密协议方式

ssl_ciphers "TLS_CHACHA20_POLY1305_SHA256:TLS_AES_256_GCM_SHA384:EECDH+CHACHA20:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384;TLS_CHACHA20_POLY1305_SHA256:TLS_AES_256_GCM_SHA384:EECDH+CHACHA20:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384";

#启用 ocsp stapling

resolver 119.29.29.29 182.254.116.116 114.114.114.114 223.5.5.5 223.6.6.6;
ssl_stapling on;
ssl_stapling_verify on;
ssl_trusted_certificate /usr/local/www/ssl/www.moebsd.cn.pem;

#启用 HSTS(HTTP Strict Transport Security)

add_header Strict-Transport-Security "max-age=2592000; includeSubdomains; preload";   
  1. max-age是必选参数,是一个以秒为单位的数值,它代表着HSTS Header的过期时间。
  2. includeSubDomains是可选参数,如果包含它,则意味着当前域名及其子域名均开启HSTS保护。
  3. preload是可选参数,只有当你申请将自己的域名加入到浏览器内置列表的时候才需要使用到它。

#gz压缩

gzip            on;
gzip_comp_level 8;
gzip_min_length 1k;
gzip_types text/css text/plain application/javascript application/xml image/jpeg image/gif image/png application/vnd.ms-fontobject font/ttf font/opentype font/x-woff image/svg+xml;
gzip_vary on;

#brotli压缩,比gz更好更快,但需要模块支持,所以先注释着

#brotli          on;
#brotli_comp_level   6;
#brotli_min_length   1k;

本文链接:https://www.moebsd.cn/post/NGINX.html

-- EOF --

Comments