1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125
   | worker_processes  auto;   error_log  /var/log/nginx/error.log notice; pid        /var/run/nginx.pid;     events {     worker_connections  1024; }     http {     include       /etc/nginx/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"';       access_log  /var/log/nginx/access.log  main;       sendfile        on;     #tcp_nopush     on;       keepalive_timeout  65;       #gzip  on;         server {             listen       80;             server_name  localhost;                     gzip on;                     gzip_buffers 32 4K;                     gzip_comp_level 6;                     gzip_min_length 100;                     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;                     gzip_disable "MSIE [1-6]\."; #配置禁用gzip条件,支持正则。此处表示ie6及以下不启用gzip(因为ie低版本不支持)                     gzip_vary on;             access_log  /var/log/nginx/host.access.log  main;             error_log  /var/log/nginx/error.log  error;             location / {             root    html;             index  index.html index.htm;                           add_header X-Content-Type-Options "nosniff" always;             add_header X-XSS-Protection "1; mode=block" always;             add_header X-Frame-Options SAMEORIGIN;             add_header Strict-Transport-Security "max-age=16070400; includeSubdomains; preload" always;             add_header Referrer-Policy "strict-origin";             add_header X-Permitted-Cross-Domain-Policies none;             add_header X-Download-Options noopen;                       add_header Access-Control-Allow-Origin *;             add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';             add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';             if ($request_method = 'OPTIONS') {               return 204;             }         }           location /api/ {             # 426 Upgrade Required,使用 proxy_http_version 1.1             proxy_http_version 1.1;             # !!需要修改为后台服务地址             proxy_pass  http://192.168.1.11:5002$request_uri; #API             # proxy_redirect off;             # 后端的Web服务器可以通过X-Forwarded-For获取用户真实IP             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_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;                           add_header X-Content-Type-Options "nosniff" always;             add_header X-XSS-Protection "1; mode=block" always;             add_header X-Frame-Options SAMEORIGIN;             add_header Strict-Transport-Security "max-age=16070400; includeSubdomains; preload" always;             add_header Referrer-Policy "strict-origin";             add_header X-Permitted-Cross-Domain-Policies none;             add_header X-Download-Options noopen;             add_header Access-Control-Allow-Origin *;             add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';             add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';             if ($request_method = 'OPTIONS') {               return 204;             }         }                                   location /ws {             proxy_pass http://127.0.0.1:5052$request_uri;             proxy_http_version 1.1;             proxy_connect_timeout 4s;                            proxy_read_timeout 60s;                              proxy_send_timeout 12s;                              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_set_header Upgrade $http_upgrade;             proxy_set_header Connection "Upgrade";                           add_header X-Content-Type-Options "nosniff" always;             add_header X-XSS-Protection "1; mode=block" always;             add_header X-Frame-Options SAMEORIGIN;             add_header Strict-Transport-Security "max-age=16070400; includeSubdomains; preload" always;             add_header Referrer-Policy "strict-origin";             add_header X-Permitted-Cross-Domain-Policies none;             add_header X-Download-Options noopen;                       add_header Access-Control-Allow-Origin *;             add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';             add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';             if ($request_method = 'OPTIONS') {               return 204;             }         }                  #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   /usr/share/nginx/html;                 add_header Cache-Control 'no-cache, must-revalidate, proxy-revalidate, max-age=0';             }         } }
   |