diff --git a/Dockerfile b/Dockerfile index e00fe98d..2d223969 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,16 +1,16 @@ # 使用轻量级的 Nginx 镜像 FROM nginx:alpine -# 复制自定义 Nginx 配置(如果有) +ARG NGINX_CONF=nginx.conf + RUN rm -f /etc/nginx/conf.d/default.conf -COPY nginx.conf /etc/nginx/conf.d/default.conf +COPY ${NGINX_CONF} /etc/nginx/conf.d/default.conf -# 将本地 dist 目录复制到容器中 COPY dist /usr/share/nginx/html -# 暴露 8088 端口 EXPOSE 8088 + # 创建启动脚本 RUN echo -e '#!/bin/sh\n\ echo "Waiting for MySQL/Redis/MinIO to start..."\n\ diff --git a/nginx-dev.conf b/nginx-dev.conf new file mode 100644 index 00000000..b381c654 --- /dev/null +++ b/nginx-dev.conf @@ -0,0 +1,130 @@ +server { + listen 8088; + server_name localhost; + + # 允许上传最大100MB + client_max_body_size 100m; + + # ========================= + # 后端接口代理(DEV) + # ========================= + + location /admin-api/ { + proxy_pass http://besure_server_dev:48081; + 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 X-Forwarded-Proto $scheme; + + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + } + + location /api/ { + proxy_pass http://besure_server_dev:48081; + 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 X-Forwarded-Proto $scheme; + + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + } + + location /jmreport/ { + proxy_pass http://besure_server_dev:48081; + 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 X-Forwarded-Proto $scheme; + + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + } + + location /v3/api-docs/ { + proxy_pass http://besure_server_dev:48081; + 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 X-Forwarded-Proto $scheme; + + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + } + + location /doc.html { + proxy_pass http://besure_server_dev:48081; + 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 X-Forwarded-Proto $scheme; + + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + } + + location /swagger-ui/ { + proxy_pass http://besure_server_dev:48081; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + } + + location /webjars/ { + proxy_pass http://besure_server_dev:48081; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + } + + location ~ /v3/api-docs/.*\.json$ { + proxy_pass http://besure_server_dev:48081; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + } + + # ========================= + # 前端静态页面 + # ========================= + + location / { + root /usr/share/nginx/html; + index index.html index.htm; + + try_files $uri $uri/ /index.html; + } + + # ========================= + # 错误页 + # ========================= + + error_page 500 502 503 504 /50x.html; + + location = /50x.html { + root /usr/share/nginx/html; + } +} + +# ========================= +# FRP / 转发代理 +# ========================= + +server { + listen 39002; + server_name localhost; + + location /besure/ { + proxy_pass http://ngsk.tech:39001/; + + 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_http_version 1.1; + proxy_buffering off; + } +} \ No newline at end of file