main
liutao 4 weeks ago
parent 4056b36c89
commit 75f7c1caed

@ -1,4 +1,4 @@
# 使用轻量级的 Nginx 镜像 # 使用轻量级的 Nginx 镜像
FROM nginx:alpine FROM nginx:alpine
ARG NGINX_CONF=nginx.conf ARG NGINX_CONF=nginx.conf
@ -10,12 +10,15 @@ COPY dist /usr/share/nginx/html
EXPOSE 8088 EXPOSE 8088
# 安装 getent 依赖Alpine 自带)
# 创建启动脚本 # 创建启动脚本:轮询等待后端 DNS 解析成功后再启动 nginx
RUN echo -e '#!/bin/sh\n\ RUN printf "#!/bin/sh\n\
echo "Waiting for MySQL/Redis/MinIO to start..."\n\ echo \"Waiting for upstream besure-server-inner to resolve...\"\n\
sleep 15\n\ while ! getent hosts besure-server-inner > /dev/null 2>&1; do\n\
nginx -g "daemon off;"' > /start.sh && \ sleep 2\n\
done\n\
echo \"Upstream resolved! Starting nginx...\"\n\
nginx -g \"daemon off;\"\n" > /start.sh && \
chmod +x /start.sh chmod +x /start.sh
CMD ["/start.sh"] CMD ["/start.sh"]

@ -1,4 +1,4 @@
server { server {
listen 8088; listen 8088;
server_name localhost; server_name localhost;
@ -23,7 +23,8 @@ server {
# 如果 inner 环境的后端服务名不同,比如叫 besure-server-inner # 如果 inner 环境的后端服务名不同,比如叫 besure-server-inner
# 就把下面的 proxy_pass 改成对应的服务名或IP # 就把下面的 proxy_pass 改成对应的服务名或IP
location /admin-api-inner/ { location /admin-api-inner/ {
proxy_pass http://besure-server-inner:48081; # 👈 这里改! set $backend_inner "http://besure-server-inner:48081";
proxy_pass $backend_inner;
proxy_set_header Host $host; proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
@ -35,7 +36,8 @@ server {
# 如果 inner 环境还需要访问原 /admin-api/,可以保留 # 如果 inner 环境还需要访问原 /admin-api/,可以保留
location /admin-api/ { location /admin-api/ {
proxy_pass http://besure-server:48081; # 👈 原生产后端 set $backend_server "http://besure-server:48081";
proxy_pass $backend_server;
proxy_set_header Host $host; proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
@ -47,7 +49,8 @@ server {
# 其他路径保持不变 # 其他路径保持不变
location /api/ { location /api/ {
proxy_pass http://besure-server:48081; set $backend_server "http://besure-server:48081";
proxy_pass $backend_server;
proxy_set_header Host $host; proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
@ -58,7 +61,8 @@ server {
} }
location /jmreport/ { location /jmreport/ {
proxy_pass http://besure-server:48081; set $backend_server "http://besure-server:48081";
proxy_pass $backend_server;
proxy_set_header Host $host; proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
@ -69,7 +73,8 @@ server {
} }
location /v3/api-docs/ { location /v3/api-docs/ {
proxy_pass http://besure-server:48081; set $backend_server "http://besure-server:48081";
proxy_pass $backend_server;
proxy_set_header Host $host; proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
@ -80,7 +85,8 @@ server {
} }
location /doc.html { location /doc.html {
proxy_pass http://besure-server:48081; set $backend_server "http://besure-server:48081";
proxy_pass $backend_server;
proxy_set_header Host $host; proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
@ -91,21 +97,24 @@ server {
} }
location /swagger-ui/ { location /swagger-ui/ {
proxy_pass http://besure-server:48081; set $backend_server "http://besure-server:48081";
proxy_pass $backend_server;
proxy_set_header Host $host; proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Real-IP $remote_addr;
} }
# 处理Swagger静态资源 # 处理Swagger静态资源
location /webjars/ { location /webjars/ {
proxy_pass http://besure-server:48081; set $backend_server "http://besure-server:48081";
proxy_pass $backend_server;
proxy_set_header Host $host; proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Real-IP $remote_addr;
} }
# 处理API文档JSON文件 # 处理API文档JSON文件
location ~ /v3/api-docs/.*\.json$ { location ~ /v3/api-docs/.*\.json$ {
proxy_pass http://besure-server:48081; set $backend_server "http://besure-server:48081";
proxy_pass $backend_server;
proxy_set_header Host $host; proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Real-IP $remote_addr;
} }
@ -121,4 +130,4 @@ server {
location = /50x.html { location = /50x.html {
root /usr/share/nginx/html; root /usr/share/nginx/html;
} }
} }

Loading…
Cancel
Save