在路由器某个目录下创建一个nginx 的docker compose文件(使用macvlan,分配一个单独的ip 192.168.2.3,这样可以使用默认80和443端口):

version: '3.8'
services:
  app:
    image: 'nginx:latest'
    restart: unless-stopped
    volumes:
      - ./nginx.conf:/etc/nginx/nginx.conf
      - ./html:/usr/share/nginx/html
    networks:
      macvlan:
        ipv4_address: 192.168.2.3

networks:
  macvlan:
    external: true
    name: macvlan

在目录下创建nginx.conf

# 全局块
user nginx;                          # 指定 Nginx 工作进程运行的用户
worker_processes auto;               # 指定工作进程的数量,auto 表示根据 CPU 核心数自动调整
error_log /var/log/nginx/error.log;  # 指定错误日志文件的位置
pid /run/nginx.pid;                  # 指定 Nginx 的 PID 文件位置
 
# events 块
events {
    worker_connections 1024;         # 每个工作进程的最大连接数
    # use epoll;                     # 指定使用的事件驱动模型,epoll 是 Linux 下的高效模型
}
 
# http 块
http {
    include /etc/nginx/mime.types;   # 包含 MIME 类型定义文件
    default_type application/octet-stream;
 
    log_format main '$remote_addr - $remote_user [$time_local] "$request" '
                    '$status $body_bytes_sent "$http_referer" '
                    '"$http_user_agent" "$http_x_forwarded_for"';
 
    access_log /var/log/nginx/access.log main;  # 指定访问日志文件的位置和格式
 
    sendfile on;                     # 开启高效文件传输模式
    tcp_nopush on;                   # 开启 TCP_NOPUSH 选项,减少 TCP 包的数量
    tcp_nodelay on;                  # 开启 TCP_NODELAY 选项,立即发送数据
 
    keepalive_timeout 65;            # 设置长连接的超时时间
 
    # server 块(虚拟主机配置)
    server {
        listen 80;                   # 监听的端口
        server_name localhost;       # 服务器名称
 
        # location 块(处理特定路径的请求)
        location / {
            root /usr/share/nginx/html;  # 网站根目录
            index index.html index.htm; # 默认索引文件
        }
        # 激活配置块
        location /activecode/bind {
            # 设置响应头,表明返回的是 JSON 数据
            add_header Content-Type application/json;
    
            # 返回 JSON 数据
            return 200 '{
                "code": 0,
                "data": {
                    "code": "鸡仔YYDS",
                    "activated": true,
                    "orderId": "",
                    "activeCount": 0,
                    "timestamp": 32472115200000,
                    "s_expire": false
                }
            }';
        }

        # 错误页面配置
        error_page 404 /404.html;
        location = /404.html {
            root /usr/share/nginx/html;
        }
 
        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
            root /usr/share/nginx/html;
        }
    }
}

执行docker compose up -d,然后把路由器中的api.yuhengye.com 重定向到 192.168.2.3,即可在手机上输入任意验证码激活成功!

最后修改:2025 年 10 月 16 日