1
0

2 Revīzijas 0d18c9e9bb ... 752067e6ed

Autors SHA1 Ziņojums Datums
  ZhongPengQun 752067e6ed 4 1 nedēļu atpakaļ
  ZhongPengQun 738d26f793 add nginx 1 nedēļu atpakaļ

+ 17 - 0
nginx/conf.d/default.conf

@@ -0,0 +1,17 @@
+server {
+    listen 80;  # 监听 80 端口(HTTP)
+    server_name 9981.tech;  # 可替换为你的域名(如 yourdomain.com)
+    
+    # 网站根目录(对应容器内路径,已通过 volume 挂载到宿主机 ./html)
+    root /usr/share/nginx/html;
+    index index.html index.htm;  # 默认首页
+    
+    # 日志配置(对应容器内路径,已挂载到宿主机 ./logs)
+    access_log /var/log/nginx/default-access.log;  # 访问日志
+    error_log /var/log/nginx/default-error.log;    # 错误日志
+
+    # 可选:静态文件缓存配置(优化性能)
+    location ~* \.(jpg|jpeg|png|gif|css|js)$ {
+        expires 30d;  # 静态文件缓存 30 天
+    }
+}

+ 31 - 0
nginx/conf.d/kanboard.9981.tech.conf

@@ -0,0 +1,31 @@
+# 配置 kanboard.9981.tech 域名的反向代理
+server {
+    # 监听 80 端口(HTTP 默认端口,域名访问无需带端口)
+    listen 80;
+    # 绑定你的域名(精确匹配,确保只有该域名触发此配置)
+    server_name kanboard.9981.tech;
+
+    # 日志配置(可选但推荐,便于排查问题)
+    access_log /var/log/nginx/kanboard_access.log;  # 访问日志路径
+    error_log /var/log/nginx/kanboard_error.log;    # 错误日志路径
+
+    # 核心:将所有请求转发到 8090 端口
+    location / {
+        # 转发目标:填写服务的实际地址(分 2 种场景,二选一!)
+        # 场景 1:8090 服务运行在宿主机(非 Docker 容器)→ 用宿主机内网 IP
+	#proxy_pass http://172.19.0.2:80;  # x 是 Docker 默认的宿主机内网 IP
+        # 场景 2:8090 服务运行在其他 Docker 容器→ 用容器名或容器内网 IP
+	#proxy_pass http://kanboard_default:80;  # 替换为你的 8090 服务容器名
+        proxy_pass http://101.201.78.54:8090;
+
+        # 必须添加的代理头(确保后端服务能正确识别客户端信息)
+        proxy_set_header Host $host;                  # 传递域名到后端
+        proxy_set_header X-Real-IP $remote_addr;      # 传递客户端真实 IP
+        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  # 传递代理链 IP
+        proxy_set_header X-Forwarded-Proto $scheme;   # 传递协议(HTTP/HTTPS)
+
+        # 可选:超时配置(避免长连接断开)
+        proxy_connect_timeout 60s;
+        proxy_read_timeout 60s;
+    }
+}

+ 28 - 0
nginx/docker-compose.yml

@@ -0,0 +1,28 @@
+version: '3.8'  # 1.29.2 完全支持 3.x 版本语法,兼容性稳定
+
+services:
+  nginx:
+    image: registry.cn-hangzhou.aliyuncs.com/zhongpengqun/wanderer:linux-amd64-nginx-1.28.0
+    container_name: nginx  # 自定义容器名,便于管理
+    restart: always  # 容器意外退出时自动重启(适合生产环境)
+    ports:
+      - "80:80"   # 映射 HTTP 端口(宿主机端口:容器内端口)
+      - "443:443" # 映射 HTTPS 端口(如需配置 SSL,保留此条)
+    volumes:
+      # 挂载配置文件:宿主机 ./conf.d 对应容器内 /etc/nginx/conf.d
+      - ./conf.d:/etc/nginx/conf.d
+      # 挂载 SSL 证书:如需 HTTPS,将证书放在 ./ssl 目录
+      - ./ssl:/etc/nginx/ssl
+      # 挂载静态文件:宿主机 ./html 对应容器内默认网站根目录
+      - ./html:/usr/share/nginx/html
+      # 挂载日志:宿主机 ./logs 保存 Nginx 访问/错误日志
+      - ./logs:/var/log/nginx
+    environment:
+      - TZ=Asia/Shanghai  # 设置容器时区为上海(避免日志时间偏差)
+    networks:
+      - 9981_tech_network  # 假设 Kanboard 在这个网络,后续会验证
+
+# 定义网络(桥接模式,默认即可)
+networks:
+  9981_tech_network:  # 声明使用外部已存在的kanboard_default网络
+    external: true