1

我有一个 django 应用程序部署到 0.0.0.0:8000 的数字海滴上。我也有一个来自谷歌域的域名。Google 域只是重定向到数字海洋名称服务器:

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

我的数字海洋域有一个A记录:

@ ip.address

这让我可以通过以下方式访问我的 django webapp:

 http://domainName:8000

有没有办法可以将其配置为不包含端口号?就像是:

 http://domainName
4

2 回答 2

0

据我所知,http默认端口是80,https默认端口是443

你可以试试:

  1. 将您的收听更改为 0.0.0.0:80

您可以通过以下方式访问您的 django webapp:http://domainName

  1. 使用 ssl key、c​​ert 将您的收听更改为 0.0.0.0:443

您可以通过以下方式访问您的 django webapp: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
于 2016-08-18T03:48:56.783 回答
0

据我了解,您只需运行 Django 服务器,然后将 dns 记录指向您的 ip。这不是部署 django 应用程序的方式。您应该将 NGINX 或 Apache 作为 Web 服务器,然后使用 uWSGI 作为应用程序服务器和 Django。

Web 服务器负责将 http 请求重定向到正确的端口,在您的情况下为默认的 80 端口,而不是使用 Django 的 8000。

您可以阅读一些 Digital Ocean 教程:如何在 Ubuntu 14.04 上使用 uWSGI 和 Nginx 服务 Django 应用程序

于 2016-08-18T13:27:45.463 回答