将子域redirect到端口

我知道这是一个常见的问题,也有同样的答案,但是我问这个问题的原因是因为我不知道如何解决这个问题。 根据我决定做的方式,我可以select更改的解决scheme。 无论如何,

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

example.com:80 [nginx/php/wordpress] example.com:8142 [flask] 

我想要做的是,使app.example.com指向example.com:8142 。 我究竟该怎么做呢? 我非常肯定,我将不得不将app.example.com指向与example.com相同的IP,因为它是相同的服务器。 而且,nginx将是第一个在80端口处理这些请求的。有没有一种方法可以使nginx将所有请求转发到localhost:8142?

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

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

 server { listen 80; server_name app.example.com; location / { proxy_pass http://localhost:8142; } }