【问题标题】:Accessing host different ports in production在生产环境中访问主机不同的端口
【发布时间】:2017-06-06 19:50:02
【问题描述】:

我正在制作一个以 Vue.js 作为前端,Rails 作为后端的应用程序,一切都在开发和生产中使用 docker 运行。

在开发中,我可以使用 localhost:8080(前端)访问服务,并使用 localhost:5678(rails 端口)向后端 URL 发出请求。

但是当我将它部署到具有域名(www.websiteurl.com)的生产环境时,我可以查看前端但无法访问后端,我无法发出任何请求。

我尝试向www.websiteurl.com:5678 发出请求,但没有任何反应,如何使用域名访问后端端口?

ps1:很抱歉,如果问题不够清楚,请随时提出任何问题 ps2:我已经在后端正确设置了CORS访问 ps3:如果我通过IP访问生产服务器,它可以正常工作,问题是我通过域名访问时

更新: 用于运行前端的命令:

docker build -t runaterra:ekko .
docker run -d \
    -w /runaterra-ekko/ \
    -p 80:8080 \
    --name ekko \
    --restart unless-stopped \
    runaterra:ekko npm run dev

用于运行后端的命令:

docker-compose up -d --restart unless-stopped db
docker-compose build app
docker-compose run --rm app rake db:migrate
docker-compose up -d --restart unless-stopped app

【问题讨论】:

  • 能否添加您用来运行容器映像的 docker 命令?
  • 您可能遇到了防火墙问题,请确保端口5678 已打开并在您的服务器上通过
  • 我用命令更新了问题,我会检查端口是否打开

标签: ruby-on-rails docker vue.js frontend backend


【解决方案1】:

您没有将应用的 5678 端口暴露给互联网。

【讨论】:

  • 谢谢,我正要自己回答这个问题
猜你喜欢
  • 2014-05-21
  • 2023-03-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-08
  • 2015-12-04
  • 1970-01-01
相关资源
最近更新 更多