边城

软件就是驱动世界,改造世界

欢迎来到边城客栈


Nginx 配置优化

前言

系统部署难免需要对nginx做一些配置优化,记录如下.

优化

Request Entity Too Large Ingress Nginx

  • 普通nginx配置
  client_max_body_size 20M;
  • ingress nginx配置
  apiVersion: extensions/v1beta1
  kind: Ingress
  metadata:
    name: ingress-nginx
    namespace: saas-pro
    annotations:
      kubernetes.io/ingress.class: "nginx"
      nginx.ingress.kubernetes.io/proxy-body-size: "50m"

开启gzip压缩

  • 普通nginx配置
  gzip on;
  gzip_min_length 1k;
  gzip_comp_level 3;
  gzip_types text/plain application/javascript application/x-javascript 
  text/css application/xml text/javascript 
  application/x-httpd-php image/jpeg image/gif image/png application/vnd.ms-fontobject
  font/ttf font/opentype font/x-woff image/svg+xml;
  gzip_vary on;   
  gzip_buffers 32 4k;
  

Get请求太长&Post Body太长

  • 普通nginx配置
  client_max_body_size 500M;
  client_header_buffer_size 51200k;
  large_client_header_buffers 4 51200k;

增加后端响应超时时长

  • 普通nginx配置
  proxy_connect_timeout 90;
  proxy_send_timeout 90;
  proxy_read_timeout 90;

允许跨域&携带cookie

  • 普通nginx配置
  proxy_pass_header Set-Cookie;
  proxy_pass_header Host;
  proxy_pass_header Access-Control-Allow-Origin;
  proxy_pass_header Access-Control-Allow-Credentials;
  proxy_pass_header Access-Control-Allow-Headers;
  proxy_set_header Host $proxy_host;

if条件判断

  • 普通nginx配置
 set $flag 0;
 if ( $host = "yiqi.test-saas.bitnei.cn" ) {
 	set $flag "${flag}1";
 }
 if ( $request_uri ~ "new_logo.png" ) {
    set $flag "${flag}2";
 }
 if ( $request_uri ~ "bitbugfavicon.ico" ) {
    set $flag "${flag}3";
 }
 if ( $flag = "012" ) {
 	rewrite ~* /assets/yiqi/new_logo.png break;
 }
 if ( $flag = "013" ) {
    rewrite ~* /assets/yiqi/bitbugfavicon.ico break;
}

二级目录配置

  • 普通nginx配置
  location ^~ /bit {
     root /opt/static/;
  }

添加header

  • 普通nginx配置
  location /xx/{
     add_header 'Access-Control-Expose-Headers' 'to-sec,pub';
  }

404跳转首页

  • 普通nginx配置
  location ^~ /bit {
     root /opt/static/;
     index index.html; 
     error_page  404  /index.html;
  }

总结

以上为笔者在开发中,总结的配置,希望对读者有一定的帮助.

打赏一个呗

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦