Как скрыть IP-адрес и порт при доступе к цифровому океану

У меня есть приложение django, развернутое до 0.0.0.0:8000 на капле цифрового океана. У меня также есть доменное имя вне доменов Google. Домен Google просто перенаправляет на серверы имен цифрового океана:

ns1.digitalocean.com
ns2.digitalocean.com
ns3.digitalocean.com

В моем цифровом морском домене есть одна запись A:

@ ip.address

Это позволяет мне получить доступ к моему веб-приложению django:

 http://domainName:8000

Есть ли способ настроить это, чтобы не включать номер порта? Что-то типа:

 http://domainName

person Indigo    schedule 18.08.2016    source источник
comment
Вы можете настроить обратный прокси-сервер Apache или nginx для одной и той же капли. Если вы решите пойти этим (очень простым, но надежным и гибким) способом, вам, вероятно, следует попробовать сделать это самостоятельно, а затем задать конкретный вопрос, если вы столкнетесь с какой-либо проблемой.   -  person Dusan Bajic    schedule 18.08.2016


Ответы (2)


Насколько мне известно, порт http по умолчанию - 80, а порт https по умолчанию - 443.

можешь попробовать:

  1. Измените способ прослушивания на 0.0.0.0:80

вы можете получить доступ к своему веб-приложению django с помощью: http://domainName

  1. Измените прослушивание на 0.0.0.0:443 с помощью ssl-ключа 、 cert

вы можете получить доступ к своему веб-приложению django с помощью: https://domainName

maybe you needed to gen a ssl cert

Также вы можете использовать NAT:

образцы

iptables -i device -t nat -A PREROUTING -p  tcp -d publicIP  --dport 80 -j DNAT --to-destination listeningIP:8080
person Carson    schedule 18.08.2016

Насколько я понимаю, вы просто запускаете сервер Django и указали точку записи DNS на свой IP-адрес. Это не способ развертывания вашего приложения django. У вас должен быть NGINX или Apache в качестве веб-сервера, а затем использовать uWSGI в качестве сервера приложений и Django.

Веб-сервер отвечает за перенаправление HTTP-запросов на правильный порт, в вашем случае на порт по умолчанию 80, а не 8000, который использует Django.

Вы можете прочитать некоторые из руководств по Digital Ocean: Как обслуживать приложения Django с uWSGI и Nginx в Ubuntu 14.04

person Ilko    schedule 18.08.2016