Загрузка приложения Flask на веб-сервер ubuntu без номера порта

#django #flask #web-deployment #web-development-server

Вопрос:

Я новичок в веб-разработке и впервые пытаюсь загрузить свой веб-сайт на веб-сервер ubuntu. Веб-сайт разработан с использованием колбы на бэкэнде. Я загрузил веб-сайт на локальный сервер, и он хорошо загружается на 127.0.0.1:5000/.

Я купил капельку на digitalocean.com и загрузил его на веб-сервер ubuntu. Он хорошо загружается на 157.245.243.108:5000/. Я купил доменное имя у godaddy.com.

Проблема в том, что веб-сайт хорошо загружается с ip-адресом (157.245.243.108) вместе с портом 5000. DNS godaddy не принимает значение порта. Он запрашивает только ip-адрес. Когда я загружаю только ip-адрес (без порта), он загружает только страницу сервера apache2.

Вопрос в следующем: Как загрузить веб-сайт только на IP-адрес без номера порта? Я готов поделиться своим кодом, если потребуется.

Комментарии:

1. Добавьте пропуск прокси-сервера для вашего приложения flask, работающего с 5000 по 80(HTTP)/443(https) в apache2 digitalocean.com/community/tutorials/…

Ответ №1:

вы должны добавить конфигурацию ServerName и ProxyPass в свою конфигурацию apache, возможно, этот пример может вам помочь:

 <VirtualHost *:80> 
     ServerAdmin admin@your-domain.com
     ServerName your-domain.com
     ServerAlias www.your-domain.com

     ProxyPreserveHost On
     ProxyPass / http://127.0.0.1:5000/
     ProxyPassReverse / http://127.0.0.1:5000/
</VirtualHost>
 

деталь :

  • Администратор сервера : указание электронной почты, по которой администратор сайта может получать электронные письма
  • Имя сервера : Скорее всего, это будет ваш домен
  • ServerAlias : Это полезно для сопоставления определенных вами хостов, таких как www
  • ProxyPreserveHost : заставляет Apache передавать исходный заголовок хоста на внутренний сервер
  • ProxyPass : он указывает, что все, что находится под корневым URL ( / ), должно быть сопоставлено с внутренним сервером по данному адресу
  • ProxyPassReverse : должен иметь ту же конфигурацию, ProxyPass что и . . Он сообщает Apache об изменении заголовков ответов с внутреннего сервера. Это гарантирует, что если внутренний сервер вернет заголовок перенаправления местоположения, браузер клиента будет перенаправлен на адрес прокси-сервера, а не на адрес внутреннего сервера, что не будет работать должным образом.

ссылка из :