Nginx反向代理docker容器进行域名解析绑定的实现方法

来自:互联网
时间:2019-08-07
阅读:

使用docker创建容器后,我们一般需要做端口映射,docker中-p就是端口映射的参数配置,例如:-p 60002:80,意思就是将宿主机的60002端口映射到容器中的80端口,然后使用:ip:60002,就可以访问到容器中的web服务了,如果我们想绑定域名,这里就涉及到一个问题,域名解析设置只能做到域名-ip的级别,并不能做到域名-ip:port的映射,好在我们可以使用Nginx反向代理将不同的域名转发到不同的web系统,具体实现方法如下:

假设:

1.AItest.top -> 144.48.63.114:60002

首先创建一个nginx容器:

docker pull nginx:1.10.3
docker run -d -p 80:80 --name dk_nginx nginx:1.10.3
docker exec -ti dk_nginx /bin/bash

进入容器后修改nginx配置文件,进入:/etc/nginx/conf.d,创建一个:1.aitest.top.conf 配置文件,添加如下配置信息:

server {
        listen       80;
        server_name  1.aitest.top;

        location / {
            proxy_pass http://144.48.63.114:60002/;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header REMOTE-HOST $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
    }

保存后,执行 service nginx reload 使配置生效!

紧接着做域名解析,将 1.aitest.top 解析到 144.48.63.114 即可,待域名解析生效后,我们就可以到浏览器中输入网址查看效果没错的话应该是可以了!

返回顶部
顶部