You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过宿主机非容器化Nginx代理将子域名绑定到Docker容器

Nginx转发子域名到Docker容器配置方案

1. 配置Docker容器端口映射

  • 启动容器时将内部80端口映射到宿主机本地环回地址的空闲端口(例如8080,避免直接对公网暴露容器端口),执行命令:
    docker run -d -p 127.0.0.1:8080:80 <你的容器镜像名称>
  • 如果容器已经在运行,可以先停止删除原有容器后重新执行上述命令,或者修改Docker端口映射规则,确保宿主机127.0.0.1的8080端口可正常访问容器内的web服务。

2. 新增Nginx站点配置

  • 进入Nginx配置目录,主流发行版默认路径为/etc/nginx/conf.d/ 或 /etc/nginx/sites-available/,新建配置文件i.example.com.conf
  • 写入以下反向代理配置:
server {
    listen 80;
    server_name i.example.com;

    location / {
        proxy_pass http://127.0.0.1:8080;
        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_pass的端口要和你映射的Docker宿主机端口保持一致。

3. 验证配置并生效

  • 执行命令检查Nginx配置语法是否正确:
    nginx -t
  • 提示syntax is ok、test is successful后,执行重载命令让配置生效:
    systemctl reload nginx

可选:配置HTTPS访问

如果需要开启HTTPS,可以使用SSL证书工具申请i.example.com的证书后,修改上述配置监听443端口,补充SSL证书相关配置即可。


内容的提问来源于stack exchange,提问作者user3392493

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.20 13:15:04