单台Docker物理服务器能否将两个域名分别绑定至不同容器Web应用?
可以实现!
最常用的方案是通过反向代理实现域名到对应Web应用的转发,推荐用Nginx(可直接部署在物理机,也可用Docker容器运行),具体操作步骤如下:
- 第一步:将两个域名的DNS解析记录指向你的物理服务器公网IP
- 第二步:配置反向代理规则(以Nginx为例)
假设你的两个Web应用容器分别映射到物理机的8080和8081端口,域名为app1.example.com和app2.example.com,Nginx核心配置示例如下:server { listen 80; server_name app1.example.com; location / { proxy_pass http://localhost:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } } server { listen 80; server_name app2.example.com; location / { proxy_pass http://localhost:8081; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } } - 第三步:如果需要HTTPS访问(推荐),可使用Certbot为两个域名申请免费SSL证书,再配置Nginx监听443端口并启用证书即可
另外,也可以使用Docker生态中的traefik这类专用容器反向代理工具,它能自动发现Docker容器并配置路由,适合纯容器化部署的场景,配置更轻量化。
内容的提问来源于stack exchange,提问作者Pouney Design
相关产品推荐
相关产品推荐

