refactor(server): 调整 Docker 运行架构为 Next.js 代理 Go API
- 修改 Dockerfile 中的运行命令,将 Next.js 设为对外服务,Go 服务在内部监听 - 更新端口配置,后端监听端口从 3000 改为 80 - 移除 Go 服务中的反向代理逻辑,统一由 Next.js 处理页面请求 - 修改 Next.js 配置,在生产环境中也启用 API 代理功能 - 更新文档描述,明确 Next.js 作为页面入口,API 请求代理到 Go 服务 - 调整开发环境端口配置,web 开发端口从 3001 改为 3000 - 更新版本号至 v0.0.4 并修改 CHANGELOG
This commit is contained in:
+1
-15
@@ -2,17 +2,12 @@ package router
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
"net/http/httputil"
|
||||
"net/url"
|
||||
"strings"
|
||||
|
||||
"github.com/basketikun/infinite-canvas/handler"
|
||||
"github.com/basketikun/infinite-canvas/middleware"
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
const webBaseURL = "http://127.0.0.1:3001"
|
||||
|
||||
func New() *gin.Engine {
|
||||
router := gin.Default()
|
||||
router.RedirectTrailingSlash = false
|
||||
@@ -47,16 +42,7 @@ func New() *gin.Engine {
|
||||
handler.AdminDeleteAsset(c.Writer, c.Request, c.Param("id"))
|
||||
})
|
||||
|
||||
webURL, _ := url.Parse(webBaseURL)
|
||||
webProxy := httputil.NewSingleHostReverseProxy(webURL)
|
||||
router.NoRoute(func(c *gin.Context) {
|
||||
path := c.Request.URL.Path
|
||||
if path == "/api" || strings.HasPrefix(path, "/api/") {
|
||||
middleware.NotFoundJSON(c)
|
||||
return
|
||||
}
|
||||
webProxy.ServeHTTP(c.Writer, c.Request)
|
||||
})
|
||||
router.NoRoute(middleware.NotFoundJSON)
|
||||
|
||||
return router
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user