Подтвердить что ты не робот

Перенаправить субдомен на порт [nginx/flask]

Я знаю, что это общий вопрос, и есть ответы на одно и то же, но причина, по которой я задаю этот вопрос, заключается в том, что я не знаю, как подойти к решению. В зависимости от того, как я решаю это сделать, я могу выбрать решение. В любом случае,

У меня есть экземпляр 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 на тот же IP-адрес, что и example.com, так как он будет тем же самым полем, который будет обслуживать его. И nginx будет первым, кто будет обрабатывать эти запросы на порту 80. Есть ли способ, с помощью которого я могу сделать nginx перенаправлять все запросы на localhost: 8142?

Есть ли лучший способ решить эту проблему?

4b9b3361

Ответ 1

Вы можете добавить виртуальный хост для app.example.com, который прослушивает порт 80, затем прокси передаст все запросы в колбу:

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

    location / {
        proxy_pass http://localhost:8142;
    }   
}

Ответ 2

Вот как бы вы сделали это с Apache.

$cat /etc/apache2/sites-available/app.conf
<VirtualHost *:80>
    ServerName app.example.com
    ProxyPreserveHost On
    <Proxy *>
        Order allow,deny
        Allow from all
    </Proxy>
    ProxyPass / http://localhost:8142/
    ProxyPassReverse / http://localhost:8142/
</VirtualHost>