基於 Caddy 部署盤古 Admin

本文以部署盤古 Admin 在線演示系統爲例講解如何基於 Caddy 部署盤古 Admin 的靜態資源和 Web 節點(業務網關)。
部署效果:https://pangu-admin.pulanit.com

  • 充當 WebServer 部署項目靜態網站。
  • 充當流量網關方向代理後端的 Web 節點(業務網關)。
  • 全站自動 SSL。包含靜態網站和 API 請求。
  • 解決跨域請求;解決前端 https 後端 http 的協議適配問題。

nginx 也可以做同樣的事情。

解析二級域名

登錄域名服務商控制檯,添加一條二級域名 pangu-admin.pulanit.com 的解析記錄。

修改配置文件

# vi /etc/caddy/Caddyfile
pangu-admin.pulanit.com {
        # Set this path to your site's directory.
        root * /var/www/pangu-admin
        encode gzip
        # Enable the static file server.
        file_server

        # Another common task is to set up a reverse proxy:
        reverse_proxy /api/* {
          # 可以指定多個後端業務網關 WEB 節點
          to localhost:8080
        }
}
  • 靜態資源文件上傳到目錄:/var/www/pangu-admin
  • 後端 Dubbo 微服務集羣的部署不在本文討論範圍,本文僅通過 Caddy 方向道理後端業務網關。
  • 通過如上配置,網站和 API 自動都擁有了 https 的能力。

上述部署結構,使得靜態網站和 API 處於同一域名下,解決了跨域的問題。但如果 API 需要反向代理到不同的端口下或者域名下,則可以設置業務網關的參數開啓跨域支持,也可以在 Caddy 配置文件配置響應頭參數以支持跨域訪問。

彩蛋

盤古開發框架 是一套輕量穩健的工業級 Web 接口服務和中後臺業務系統開發框架。原生支持微服務分佈式架構的同時也兼容單體應用架構模式。基於商業友好的 Apache-2.0 協議免費開源發佈。我們希望不僅是開源的受益者也能成爲開源貢獻者,與開源社區一起共建共享開源生態

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章