fix: 修复nginx

This commit is contained in:
Cassianvale
2025-03-07 16:03:39 +08:00
parent a567925bbc
commit 40955a5bdf
5 changed files with 22 additions and 28 deletions

2
.env
View File

@@ -3,6 +3,4 @@ API_URL=
API_MODEL=
ANNOUNCEMENT_TEXT=
API_TIMEOUT=60
# 添加后端服务地址请替换为你的实际公网IP或域名
BACKEND_URL=http://localhost:8888
LOGIN_PASSWORD=

View File

@@ -3,14 +3,7 @@ API_KEY=
API_URL=
API_MODEL=
API_TIMEOUT=60
# 公告文本
ANNOUNCEMENT_TEXT=欢迎使用!
# 后端服务地址公网访问时需要设置为公网IP或域名
# 本地开发时可以使用http://backend:8888
# 公网访问时使用http://your_public_ip:8888
BACKEND_URL=http://localhost:8888
# 登录配置(为空时不需要登录,否则需要经过登录接口验证)
LOGIN_PASSWORD=

View File

@@ -15,7 +15,6 @@ services:
- API_TIMEOUT=${API_TIMEOUT}
- LOGIN_PASSWORD=${LOGIN_PASSWORD}
- ANNOUNCEMENT_TEXT=${ANNOUNCEMENT_TEXT}
- BACKEND_URL=${BACKEND_URL:-http://localhost:8888}
volumes:
- ./logs:/app/logs
restart: unless-stopped
@@ -35,8 +34,6 @@ services:
container_name: stock-scanner-frontend
ports:
- "80:80"
environment:
- BACKEND_URL=${BACKEND_URL:-http://backend:8888}
depends_on:
- backend
restart: unless-stopped

View File

@@ -19,18 +19,12 @@ RUN npm run build
# 生产阶段
FROM nginx:stable-alpine as production-stage
# 复制自定义nginx配置(如需要)
COPY nginx.conf /etc/nginx/conf.d/default.conf.template
# 复制自定义nginx配置
COPY nginx.conf /etc/nginx/conf.d/default.conf
# 从构建阶段复制构建结果到nginx服务目录
COPY --from=build-stage /app/dist /usr/share/nginx/html
# 创建启动脚本
RUN echo '#!/bin/sh' > /docker-entrypoint.sh && \
echo 'envsubst "$BACKEND_URL" < /etc/nginx/conf.d/default.conf.template > /etc/nginx/conf.d/default.conf' >> /docker-entrypoint.sh && \
echo 'nginx -g "daemon off;"' >> /docker-entrypoint.sh && \
chmod +x /docker-entrypoint.sh
# 暴露80端口
EXPOSE 80
@@ -39,4 +33,4 @@ HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \
CMD wget --quiet --tries=1 --spider http://localhost:80 || exit 1
# 设定启动命令
CMD ["/docker-entrypoint.sh"]
CMD ["nginx", "-g", "daemon off;"]

View File

@@ -13,49 +13,61 @@ server {
add_header Cache-Control "public, max-age=31536000, immutable";
}
# API请求代理到后端服务
# API请求代理到后端服务 - 使用相对路径
location /api/ {
proxy_pass ${BACKEND_URL}/api/;
proxy_pass http://backend:8888/api/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
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_cache_bypass $http_upgrade;
proxy_read_timeout 300s;
}
location /login {
proxy_pass ${BACKEND_URL}/login;
proxy_pass http://backend:8888/login;
proxy_http_version 1.1;
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_cache_bypass $http_upgrade;
}
location /check_auth {
proxy_pass ${BACKEND_URL}/check_auth;
proxy_pass http://backend:8888/check_auth;
proxy_http_version 1.1;
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_cache_bypass $http_upgrade;
}
location /need_login {
proxy_pass ${BACKEND_URL}/need_login;
proxy_pass http://backend:8888/need_login;
proxy_http_version 1.1;
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_cache_bypass $http_upgrade;
}
location /config {
proxy_pass ${BACKEND_URL}/config;
proxy_pass http://backend:8888/config;
proxy_http_version 1.1;
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_cache_bypass $http_upgrade;
}
location /analyze {
proxy_pass ${BACKEND_URL}/analyze;
proxy_pass http://backend:8888/analyze;
proxy_http_version 1.1;
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_cache_bypass $http_upgrade;
proxy_read_timeout 300s;
}