【问题标题】:How to hide ip address and port when accessing digital ocean droplet访问数字海洋水滴时如何隐藏IP地址和端口
【发布时间】:2016-08-18 03:39:25
【问题描述】:

我有一个 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

【问题讨论】:

  • 您可以配置 Apache 或 nginx 反向代理 om 相同的 droplet。如果您决定采用这种方式(非常简单但强大且灵活),您可能应该尝试自己做,然后在遇到任何问题时提出具体问题。

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


【解决方案1】:

据我所知,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

【讨论】:

    【解决方案2】:

    据我了解,您只是运行 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

    【讨论】:

      猜你喜欢
      • 2022-01-15
      • 2022-01-10
      • 1970-01-01
      • 2019-10-12
      • 2019-10-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多