访问数字海洋水滴时如何隐藏IP地址和端口

时间:2016-08-18 03:39:25

标签: django dns digital-ocean google-domain-api

我在数字海洋水滴上部署了一个django app到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

2 个答案:

答案 0 :(得分:0)

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

你可以尝试:

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

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

    1. 使用ssl key,cert
    2. 将您的收听更改为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
      

答案 1 :(得分:0)

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

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

您可以阅读一些数字海洋教程:How To Serve Django Applications with uWSGI and Nginx on Ubuntu 14.04