我正在尝试让我的nuxt应用程序在生产服务器上运行。对于本地机器,生成的docker映像运行良好,它可以访问在localhost上运行的nodejs应用程序。axios的baseurl:http://127.0.0.1:6008/'看起来工作正常,docker映像可以访问它。在生产服务器上,我已经用docker设置了nuxt应用程序,就像我在本地机器上测试的一样。但是docker nuxt应用程序无法访问主机服务器上的nodejs应用程序。我可以看出这一定是某种网络设置问题。
在vuejs应用程序中,我通常在apache web conf中设置一个proxypass,来转换输入后端查询以匹配并替换为localhost地址。
ProxyPass /app/query http://localhost:6008/query
nuxt.config文件的axios设置如下所示:
axios: {
baseURL:'http://127.0.0.1:6008/',
browserBaseURL: ''
},
Docker是否需要额外的设置,或者我是否应该为Docker容器和运行在主机apache pm2上的节点应用程序之间的通信配置apache?
1条答案
按热度按时间h79rfbju1#
localhost
或127.0.0.1
将不会解析为服务器的localhost。相反,您需要指定nodejs服务的名称(如果您正在使用docker-compose)或nodejs docker容器名称(如果您只是使用docker run)。您也可以尝试给出运行Docker的服务器的IP,而不是
127.0.0.1