阿里云ECS用tutumcloud/haproxy做virtual host

仅仅做为个人笔记使用

参考:https://github.com/tutumcloud/haproxy

主要是参考该主页上,这一段的用法

I want to set up virtual host routing by domain

Virtual hosts can be configured by the proxy reading linked container environment variables (VIRTUAL_HOST). Here is an example:

docker run -d -e VIRTUAL_HOST="www.webapp1.com, www.webapp1.org" --name webapp1 tutum/hello-world
docker run -d -e VIRTUAL_HOST=www.webapp2.com --name webapp2 your/webapp2
docker run -d --link webapp1:webapp1 --link webapp2:webapp2 -p 80:80 tutum/haproxy

In the example above, when you access http://www.webapp1.com or http://www.webapp1.org, it will show the service running in container webapp1, and http://www.webapp2.com will go to container webapp2.

这里的example用的是原文的image,由于直接在ECS上面做实验,所以最后效果貌似没出来

所以直接基于之前搭建的apache2的镜像来设置,那么运行为

docker run -d -e VIRTUAL_HOST="域名1" --name webapp1 -p 1080:80 -i -t apache2

docker run -d -e VIRTUAL_HOST="域名2" --name webapp2 -p 1081:80 -i -t apache2

docker run -d --link webapp1:webapp1 --link webapp2:webapp2 -p 80:80 tutum/haproxy

这里-d是在后台运行,然后指定域名,--name是对这个容器进行一个命名,需要应用在tutum/haproxy上,-p是指定端口映射,这里是将宿主机上的1080端口映射到docker容器内的80端口上,在笔者实验中,这个apache2的镜像是需要指定端口才好用的,不过之前下载的一个lamp的镜像,使用时就不需要指定端口,所以加不加端口这里还不是很确定。

然后--link webapp1:webapp1是将前面容器再命名为webapp1在容器连接上,然后将宿主机的80端口映射到tutum/haproxy的80端口,这样外界访问的80端口的流量就被haproxy按照域名进行分流了。

最后为了试验效果,需要运行容器apache2的web服务,前面默认创建是关闭的。

那么首先需要进入容器,首先查看容器的id

docker ps

然后通过

docker exec -it [容器ID] /bin/bash

要进去以后,然后启用

/etc/init.d/apache2 restart

创建了一个实例以后,进入之后,在/var/www/html下,修改index主页为

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title> 域名1 </title>
</head>
<body>
<p> 域名1 </p>
</body>
</html>

域名1与域名2的两个容器分别修改,这样实验可以看出效果,然后阿里云里面的域名服务还需要将购买的两个域名,直接映射到同一个IP地址上,这个在阿里云域名里面直接配置即可。

最后直接通过网页访问域名即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Wi-Fi研习者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值