我目前正在开发一个简单的投资组合应用程序,我的应用程序结构是这样的。Nextjs/client、Nodejs/server、Mongodb/db
Nextjs托管在本地端口3001上,Nodejs应用托管在5000端口上。每当nextjs需要获取任何api时,它都会调用nodejs应用程序。所有的东西都是在docker内部配置的。我对部署nextjs应用程序非常陌生,最近使用了具有自动https的caddy服务器。我能够使用命令静态地部署nextjs应用程序
next build
next exportnextjs应用程序的名为index.html inside out目录的静态导出文件指向端口80和443上的caddy服务器。静态导出的应用程序不支持api路由,这是我最近才知道的。我尝试使用next build and next start命令在.next目录中生成动态产品构建。主要问题是如何将动态生成的nextjs应用程序指向docker容器内的caddy配置中。我现在的caddy配置如下
www.example.com:443 {
tls xyz@email.com
root * /srv
route {
reverse_proxy /api* api-server:5000
try_files {path} {path}/ /index.html
file_server
}
}我正在寻找特别是与代理服务器相关的提示。
提前谢谢你
发布于 2021-04-28 08:01:27
我假设你前端的api url类似于这个http://localhost:5000 (基于你的youtube评论here),如果你从远程计算机(在这个例子中是你的电脑,因为我假设你的应用是托管的)访问你的停靠的应用程序,它将不会工作。尝试将其更改为https://www.example.com:5000并重新构建映像。
https://stackoverflow.com/questions/66451934
复制相似问题