【问题标题】:Nginx reverse proxy - config for subdomainNginx 反向代理 - 子域的配置
【发布时间】:2020-04-21 12:44:26
【问题描述】:
  • 大家好,我正在为我的项目使用亚马逊 ec2 的 vps ubuntu。我 我的 vps 上有 3 个项目,它们是在 nodejs 上构建的,所以我运行它 3 端口:3000 和 3001 和 80。
  • 我在godaddy买了一个域名,网址是:abc.def,现在,当我进入浏览器并输入 abc.def:3000abc.def:3001abc.def,上面3个项目运行正常。

    问题是

    当我输入时如何配置它

  • abc.def -> 它运行项目端口 3000

  • site.abc.def -> 它运行 portject 端口 3001
  • site2.abc.def -> 它运行 portject 端口 80

感谢您的评论

【问题讨论】:

    标签: node.js ubuntu nginx subdomain vps


    【解决方案1】:

    您需要创建 2 个子域(site.abc.def 和 site2.abc.def)并创建一个 nginx 配置文件,其中包含所有 3 个域,每个站点具有不同的服务器指令。使用 proxy_pass 并根据您的要求对其进行引导。

    编辑: 类似于以下答案Nginx multiple server

    【讨论】:

    • 谢谢 karikevinod,让我试试。您知道站点可用和站点启用之间的区别吗?
    • 启用的站点是可用站点中文件的符号链接。它在上面链接提供的链接中。
    • 感谢 karikevinod,我配置成功了,我现在的新问题是,在项目 1 中,当我输入 project1.abc.def -> 它转到 localhost:3000(OK),但是当我键入 project1.abc.def:3000,它仍然转到 localhost:3000(我不想这样做),我在 google 上看到了一些使用“port_in_redirect off;”的提示" proxy_redirect 关闭;proxy_set_header 主机 $host:$server_port;"我试过了,但不工作
    最近更新 更多