3C Tech Center
  • Home
  • My Notes
  • 輕鬆小品
  • D-Laravel粉絲頁
  • 登入
    • Facebook登入
    • Google登入
    • Github登入
    • Twitter登入
    • Line登入

  • Home
  • My Notes
  • 輕鬆小品
  • D-Laravel粉絲頁
  • Growl

  • Facebook登入
  • Github登入
  • Twitter登入
  • Line登入
  • Help
  • Favorites
  • Logout
奔跑吧Laravel 關於setfacl

奔跑吧Laravel 關於setfacl
  • 2019年03月03日 Devin

    如何在Raspberry上用Docker啟動HAProxy

    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設定
    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。





     


    Tweet
    留言


奔跑吧Laravel

關於setfacl

相關文章
  • D-Laravel v1.2.1版變更說明(建議更新...
  • 如何自訂Laravel分頁
  • [D-Laravel]./console node
  • 攻略docker版Let's Encrypt憑證申請
相關文章
  • D-Laravel v1.2.1版變更說明(建議更新,必免踩雷)
  • 如何自訂Laravel分頁
  • [D-Laravel]./console node
  • 攻略docker版Let's Encrypt憑證申請
封存
  • October 2019 (1)
  • May 2019 (1)
  • March 2019 (1)
  • January 2019 (1)
  • December 2018 (3)
  • October 2018 (3)
  • September 2018 (3)
  • August 2018 (1)
  • July 2018 (3)
  • June 2018 (4)
  • May 2018 (4)
  • April 2018 (7)
  • March 2018 (2)
  • February 2018 (9)
  • January 2018 (8)
  • December 2017 (5)
  • November 2017 (3)
  • October 2017 (10)
  • September 2017 (11)
  • August 2017 (4)
  • July 2017 (13)
  • June 2017 (3)
© 2018 Cyber Coding Course

發表留言