發表文章

目前顯示的是 2月, 2018的文章

新一代LB - Traefik

新一代LB   -   Traefik Traefik突破以往我們對load   balancer的觀點,他是一套直接與docker整合的load   balancer套件...   透過Traefik,我們可以使用label的方式將後面啟動的docker   instance掛載到loadbalancer中,且無需重新啟動Traefik,可直接生效... Traefik基本介紹 Traefik是以動態重載新加入的docker   instance的方式來替有附加相同domain   label的dockerinstance建立網路附載平衡的關聯...   因此,設定上,與一般我們建立reverse   proxy的過程剛好相反(一般我們會先建立服務,再建立reverse   proxy將服務串連起來)... Step1   -   建立Traefik服務 下面我們用官方的compose   file來說明... File:   docker-compose.yaml version: '2' services: proxy: image: traefik command: --api --docker --docker.domain=docker.localhost --logLevel=DEBUG networks: - webgateway ports: - "80:80" - "8080:8080" volumes: - /var/run/docker.sock:/var/run/docker.sock - /dev/null:/traefik.toml networks: webgateway: driver: bridge 其中traefik啟動時候,我們需要指定docker.domain來告訴taefik要聆聽的domain是哪一個,然後要事先開啟對應的port,讓外部服務可以連到traefik...,另外,我們將dockersocket掛載進來,這是必要的設定,讓traefik可以透過docker   socket來操控一些東西...,最後,tr

Auto SSL - Using OpenResty

Auto   SSL Auto SSL中,目前筆者有接觸過的是 LetsEncrypt 的服務,設定上可以搭配 CertBot 來做設定... 當然有更簡單的方式... 下面是Github上的公開專案,是基於OpenResty與Lua開發的工具,可以讓我們透過LetsEncrypt自動附加、更新SSL憑證,一切的一切,只需要把server啟動即可... Step1   -   下載專案 由於該專案並未有太多其他附加的設定,我們可以直接下載該專案然後做修改,或是fork到自己的repo做其他開發... $ git clone https://github.com/rmoriz/docker_openresty_autossl Step2   -   建立自己的docker 待需要修改的部分完成,我們可以在本機將他build成docker   image供後續使用... $ cd docker_openresty_autossl $ docker build -t autossl . Step3   -   啟動docker 最後,我們只需要將該docker   image啟動,即可同時有HTTPS與HTTP協定的入口... $ docker run -d -p 80:80 -p 443:443 rmoriz/openresty_autossl 其中,由於openresty的設定檔與nginx的設定相同,我們可以參考nginx.conf然後修改掛載我們需要載入的virtual   host相關設定,讓openresty可以Load   Balance我們所要提供的服務。 注意事項 由於此模組會需要在公網上認證該Domain的設定,因此,我們必須要讓DNS可以指定到一個可以聯繫到該主機的地方... 換句話說... 如果想要用127.0.0.1測試就會有問題... 因為DNS反解後外部仍無法聯繫到該IP...