crootfast
Version:
大前端工程化命令行脚手架
134 lines (109 loc) • 5.25 kB
Plain Text
# upstream 指令定义了一个服务器组
# 低代码平台的api服务地址
upstream <%productname%>ApiService {
# server 172.20.101.65:15010;
# server 172.20.1.207:8088;
server 172.20.101.90:18800;
# 还可以为每个服务器设置权重、最大失败次数、超时时间等高级选项,
# 例如:server 172.20.1.211:8080 weight=3 max_fails=2 fail_timeout=30s;
}
server{
set $my_path /home/workspace/webEngineering/nginxWebService/nginx1.24.0;
listen <%port%>;
server_name localhost;
root $my_path/html;
index index.html index.htm;
# access_log /var/log/nginx/host.access.log main;
gzip on;
gzip_types text/plain text/css application/javascript;
gzip_min_length 1024;
gzip_vary on;
underscores_in_headers on;
client_body_temp_path $my_path;
client_max_body_size 20M;
location /api/hub {
# add_header X-Config ipa;
proxy_pass http://<%productname%>ApiService/api/rop; # ip后台服务运行地址
proxy_set_header X-Real-IP $remote_addr;
add_header Access-Control-Allow-Origin '*';
add_header X-Real-IP $remote_addr;
# 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';
proxy_buffer_size 1024k;
proxy_buffers 16 1024k;
proxy_busy_buffers_size 2048k;
proxy_temp_file_write_size 2048k;
# proxy_set_header Host $host:$server_port;
# try_files $uri $uri/ @router;
}
location /api/rop {
# add_header X-Config ipa;
proxy_pass http://<%productname%>ApiService/api/rop; # ip后台服务运行地址
proxy_set_header X-Real-IP $remote_addr;
add_header Access-Control-Allow-Origin '*';
add_header X-Real-IP $remote_addr;
# 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';
proxy_buffer_size 1024k;
proxy_buffers 16 1024k;
proxy_busy_buffers_size 2048k;
proxy_temp_file_write_size 2048k;
# proxy_set_header Host $host:$server_port;
# try_files $uri $uri/ @router;
}
# location /api/rops {
# # add_header X-Config ipa;
# proxy_pass http://codelitehubApiService/api/rops; # ip后台服务运行地址
# proxy_set_header X-Real-IP $remote_addr;
# add_header Access-Control-Allow-Origin '*';
# add_header X-Real-IP $remote_addr;
# # 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';
# proxy_buffer_size 1024k;
# proxy_buffers 16 1024k;
# proxy_busy_buffers_size 2048k;
# proxy_temp_file_write_size 2048k;
# # proxy_set_header Host $host:$server_port;
# # try_files $uri $uri/ @router;
# }
location /api/web {
# add_header X-Config ipa;
proxy_pass http://172.20.101.65:8001/api/web; # ip后台服务运行地址
proxy_set_header X-Real-IP $remote_addr;
add_header Access-Control-Allow-Origin '*';
add_header X-Real-IP $remote_addr;
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';
proxy_buffer_size 1024k;
proxy_buffers 16 1024k;
proxy_busy_buffers_size 2048k;
proxy_temp_file_write_size 2048k;
}
location /crootfui/ {
# 指定存放下载文件的目录路径
alias $my_path/html/<%productname%>/crootfui/;
add_header Access-Control-Allow-Origin '*';
add_header X-Real-IP $remote_addr;
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';
# always;
add_header Cache-Control 'no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0';
expires off; # 确保 Nginx 不会添加过期头来指示浏览器缓存内容。
etag off; # 禁用 ETag,因为 ETag 可能会导致浏览器认为内容没有变化,从而使用缓存版本。
}
location / {
# root html;
alias $my_path/html/<%productname%>/;
index index.html index.htm;
# 使用try_files指令重定向所有非文件/目录请求到index.html,解决单页应用服务端路由的问题
# 注意这里的路径是相对于alias指定的路径
try_files $uri $uri/ /index.html;
proxy_set_header X-Real-IP $remote_addr;
add_header Cache-Control "no-store";
add_header X-Real-IP $remote_addr;
gzip on;
add_header Cache-Control 'no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0';
expires off; # 确保 Nginx 不会添加过期头来指示浏览器缓存内容。
etag off; # 禁用 ETag,因为 ETag 可能会导致浏览器认为内容没有变化,从而使用缓存版本。
# expires 3600; # -1;
# gzip_static on; # 对于静态文件index.html,使用gzip命令进行压缩后,生成的压缩包应该为index.html.gz。
}
}