建立于: 5年前 ( 更新: 5年前 )
Raspberry很便宜有相当多的运用,例如有人拿来当Wifi的router,
游戏机,监视器及许许多多物联网相关运用,我则是用他来当一台HAProxy。
长话短说,因为有一台老旧的Windows伺服器,他运行旧版本的PHP及Apache,并且无法设置HTTPS证书,所以就想说
透过HAProxy来帮忙啦。让这台老旧伺服器也可以有https的网址,
所以来分享我的docker-compose.yml设。
必要知识:
此文章假设,您已了解haproxy的相关设置了。
如果您还不会在自己的树莓派安装,docker及docker-compose请参考如下网址:
https://www.ccc.tc/article/install-docker-and-docker-compose-on-raspberrypi
关於docker-compose的设置如下:
以下是我的docker-compose.yml设置
一、restart: always
当成功启动后,下次再重开,就能自动启动docker-compose了,不用再进入Raspberry里去上命令docker-compose up。
关於重启原则(restart policy),至少需成功的启动10秒后,才代表成功启动,下次重启时,才会自动重启。
二、network_mode: host
这是Linux才能设置的网络模式,可直接让容器绑定的连绑埠绑到host上
(所谓的host指的就是Raspberry,所以就是绑在树莓派的eth0网卡上),
所以我能将Raspberry上进来的流量直接导入到另一台实体的主机(backend_server)上啦。
三、enviroment
我们可以在,enviroment中设置backend_server的位置,
就可以在HAProxy的设置档中,使用这个设置了。
四、volumens
挂载了证书,及haproxy.cfg的设置。
关於docker-compose的基本命令基本知识:
我们可以创建一个haproxy的数据夹,放入docker-compose.yml档及证书,还有haproxy的设置档。
然后,运行
停止是:
下方是个简单的示意图:
蓝色线是SSL加密的网址,流量进入到HAProxy后,再将流量导向后端(backend_server) ,未加密的网址。
补充
本文假设您已了解haproxy.cfg的各项设置,不对此进行说明,请自行请教Google老师了。
有些与此docker-compose相关的片段的数据供参考。
游戏机,监视器及许许多多物联网相关运用,我则是用他来当一台HAProxy。
长话短说,因为有一台老旧的Windows伺服器,他运行旧版本的PHP及Apache,并且无法设置HTTPS证书,所以就想说
透过HAProxy来帮忙啦。让这台老旧伺服器也可以有https的网址,
所以来分享我的docker-compose.yml设。
必要知识:
此文章假设,您已了解haproxy的相关设置了。
如果您还不会在自己的树莓派安装,docker及docker-compose请参考如下网址:
https://www.ccc.tc/article/install-docker-and-docker-compose-on-raspberrypi
关於docker-compose的设置如下:
以下是我的docker-compose.yml设置
version: '3.6'
services:
haproxy:
network_mode: host
image: haproxy
restart: always
environment:
backend_server: 192.168.1.100
volumes:
- ./cert.pem:/etc/ssl/cert.pem
- ./haproxy.cfg:/usr/local/etc/haproxy/haproxy.cfg
这里有几个重要设置一、restart: always
当成功启动后,下次再重开,就能自动启动docker-compose了,不用再进入Raspberry里去上命令docker-compose up。
关於重启原则(restart policy),至少需成功的启动10秒后,才代表成功启动,下次重启时,才会自动重启。
二、network_mode: host
这是Linux才能设置的网络模式,可直接让容器绑定的连绑埠绑到host上
(所谓的host指的就是Raspberry,所以就是绑在树莓派的eth0网卡上),
所以我能将Raspberry上进来的流量直接导入到另一台实体的主机(backend_server)上啦。
三、enviroment
我们可以在,enviroment中设置backend_server的位置,
就可以在HAProxy的设置档中,使用这个设置了。
四、volumens
挂载了证书,及haproxy.cfg的设置。
关於docker-compose的基本命令基本知识:
我们可以创建一个haproxy的数据夹,放入docker-compose.yml档及证书,还有haproxy的设置档。
然后,运行
docker-compose up -d
即可启动罗。停止是:
docker-compose down
如果想要查看log,我们可以运行
docker-compose logs -f
下方是个简单的示意图:
蓝色线是SSL加密的网址,流量进入到HAProxy后,再将流量导向后端(backend_server) ,未加密的网址。
补充
本文假设您已了解haproxy.cfg的各项设置,不对此进行说明,请自行请教Google老师了。
有些与此docker-compose相关的片段的数据供参考。
server web ${backend_server}:80 check cookie s1
#或是
backend mysql
mode tcp
server database ${backend_server}:3306
上方的变量,${backend_server}便是我们在docker-compose.yml中设置的192.168.1.100。
No Comment
Post your comment