upstream mom-server-api { server ${MOM_CORE_API}; } upstream mom-job-server { server ${MOM_JOB_API}; } upstream lowcode-server-api { server ${LOWCODE_API}; } upstream mom-websocket-server { server ${MOM_WEBSOCKET_API}; } map $http_upgrade $connection_upgrade { default upgrade; '' close; } server { listen 8080; client_max_body_size ${REQUEST_MAX_SIZE}M; # 上传文件大小上限 charset utf-8; absolute_redirect off; #取消绝对路径的重定向 gzip on; #是否开启gzip模块 on表示开启 off表示关闭 gzip_static on; #开启gzip静态压缩功能 gzip_buffers 4 16k; #设置压缩所需要的缓冲区大小 gzip_comp_level 6; #压缩级别1-9,数字越大压缩的越好,也越占用CPU时间 gzip_min_length 100k; #设置允许压缩的最小字节 gzip_http_version 1.1; #设置压缩http协议的版本,默认是1.1 gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript; #设置压缩的文件类型 gzip_vary on; #加上http头信息Vary: Accept-Encoding给后端代理服务器识别是否启用 gzip 压缩 location / { alias '/app/momweb/page/'; #vue-router配置 try_files $uri $uri/ @router; index index.html; add_header 'Access-Control-Allow-Origin' '*'; add_header 'Access-Control-Allow-Credentials' 'true'; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header HTTP_X_FORWARDED_FOR $remote_addr; proxy_set_header X-Forwarded-Proto $scheme; } location @router { rewrite ^.*$ /index.html last; } # 静态资源转发 location /file/ { alias /app/files/upload/; add_header 'Access-Control-Allow-Origin' '*'; add_header 'Access-Control-Allow-Credentials' 'true'; autoindex on; } location /elf-files/ { alias /app/files/upload/elf/; add_header 'Access-Control-Allow-Origin' '*'; add_header 'Access-Control-Allow-Credentials' 'true'; autoindex on; } location /file/download/ { alias /app/files/upload/; add_header 'Access-Control-Allow-Origin' '*'; add_header 'Access-Control-Allow-Credentials' 'true'; add_header Content-Type "application/octet-stream"; add_header Content-Disposition: attachment; autoindex on; } location /core { rewrite ^/core/(.*)$ /core/$1 break; include uwsgi_params; proxy_pass http://mom-server-api; charset utf-8; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header HTTP_X_FORWARDED_FOR $remote_addr; proxy_set_header X-Forwarded-Proto $scheme; #启用支持websocket连接 proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } location /api { rewrite ^/api/(.*)$ /core/api/$1 break; include uwsgi_params; proxy_pass http://lowcode-server-api; charset utf-8; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header HTTP_X_FORWARDED_FOR $remote_addr; proxy_set_header X-Forwarded-Proto $scheme; #启用支持websocket连接 proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } location /license { rewrite ^/license/(.*)$ /core/$1 break; include uwsgi_params; proxy_pass http://mom-server-api; charset utf-8; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header HTTP_X_FORWARDED_FOR $remote_addr; proxy_set_header X-Forwarded-Proto $scheme; #启用支持websocket连接 proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } location /ws { proxy_pass http://mom-websocket-server; charset utf-8; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header HTTP_X_FORWARDED_FOR $remote_addr; proxy_set_header X-Forwarded-Proto $scheme; #启用支持websocket连接 proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } location /job-server { rewrite ^/job-server/(.*)$ /job-server/$1 break; include uwsgi_params; proxy_pass http://mom-job-server; charset utf-8; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header HTTP_X_FORWARDED_FOR $remote_addr; proxy_set_header X-Forwarded-Proto $scheme; #启用支持websocket连接 proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } }