docker - Nuxt Js SSR 请求失败(仅服务器端)+ Docker + axios + Linux
问题描述
我正在开发一个 nuxt js 通用 ssr 应用程序。部署配置如下:
- 在 docker 容器上运行的 Nuxt js 通用应用程序(在 nuxt 3010 端口上运行)
- Linux caddy 网络服务器
- 在单独的 docker 容器上运行的 Laravel 后端服务器正在使用反向代理在域上设置后端,并且 etc/hosts 文件包括将后端域设置为 127.0.0.1
问题:
服务器端请求将 axios 基本 url 更改为 http:// localhost:3010(而不是 https:api.domain.com/)并导致 404 not found 错误或超时甚至 127.0.0.1 ECONNREFUSED nuxt 错误。相同的请求在客户端工作正常,这只发生在页面的初始加载(页面的服务器端渲染)为什么 url 会改变?我应该如何防止它更改基本网址?
docker 文件包括:
RUN apt-get update
ENV APP_ROOT /src
ENV DOCKER_API https://api.domain.com
WORKDIR ${APP_ROOT}
COPY . ${APP_ROOT}
RUN npm ci
RUN npm run build
码头工人撰写文件:
version: "3"
services:
nuxt:
build: ./app/
ports:
- "3010:3010"
environment:
ALI_URL: https://api.domain.com/
restart: always
command:
"npm run start"
nuxt 服务器配置:
server:{
port:3010
}
解决方案
推荐阅读
- flutter - Flutter:StreamBuilder builder正在返回黑屏
- vba - 防止字符串比较过程多次比较同一对字符串
- ios - 错误域=NSURLErrorDomain 代码=-1005 “网络 > 连接丢失。” - iOS 中的 AFNetworking formdata 视频上传
- javascript - 不同浏览器javascript中的Forin循环
- python - python - 如何在没有字典或库的情况下生成相应列输入的总和?
- amazon-web-services - 仅返回 dynamdb 扫描响应的子集
- jenkins - 如何在管道 Jenkins 作业之间共享 GUI 参数
- php - 使用 Slim 和 Eloquent 在 db 中添加条目
- database - 每当子表中发生插入/删除时,如何在更新父表时防止锁定?
- swift - 模块作为 Xcode 项目中的独立框架