将子域重定向到端口[nginx/flask]

Roh*_*bhu 38 nginx

我知道这是一个常见的问题,并且有相同的答案,但我问这个问题的原因是因为我不知道如何处理解决方案.根据我决定的方式,我可以选择改变的解决方案.无论如何,

我有一个AWS EC2实例.我的DNS由Route53处理,我拥有example.com.目前,在我的实例上,有两个服务正在运行:

example.com:80 [nginx/php/wordpress]
example.com:8142 [flask]
Run Code Online (Sandbox Code Playgroud)

我想做的是,app.example.com指出example.com:8142.我该怎么做呢?我很确定我将不得不指向app.example.com相同的IP example.com,因为它将是服务它的同一个盒子.而且,nginx将是第一个在端口80处理这些请求的人.有没有办法让nginx将所有请求转发给localhost:8142?

有没有更好的方法可以解决这个问题?

Col*_*ney 70

您可以为app.example.com添加一个虚拟主机,该虚拟主机侦听端口80,然后代理将所有请求传递给flask:

server {
    listen 80;
    server_name app.example.com;

    location / {
        proxy_pass http://localhost:8142;
    }   
}
Run Code Online (Sandbox Code Playgroud)

  • 我试图弄清楚如何在Apache中做到这一点,但无济于事.对我(在Digital Ocean上)来说,创建一个新的Droplet,安装LEMP堆栈,配置服务器,克隆我的应用程序以及编写这7行代码的速度比我浪费在试图在Apache上解决的所有小时数要快得多.非常感谢!!! (2认同)