如何将Python套接字绑定到特定域?

时间:2016-08-30 13:31:16

标签: python sockets heroku

我有一个具有域moarcatz.tk的Heroku应用程序。它使用Python socket监听非HTTP请求 该文档指出,如果我将套接字绑定到空字符串作为IP地址,它将侦听所有可用的接口。我一直从各种IP地址获取空请求,因此我假设将套接字设置为仅侦听与moarcatz.tk的连接将解决问题。但我不知道如何将套接字绑定到域名 我试过'moarcatz.tk'和gethostbyname('moarcatz.tk'),但都给了我这个错误:

OSError: [Errno 99] Cannot assign requested address

该怎么做?

1 个答案:

答案 0 :(得分:0)

您无法通过代码控制此操作,但您可以通过Heroku控制此操作。

Heroku有一个非常漂亮的DNS CNAME工具,您可以使用它来确保您的应用程序仅侦听特定域的传入请求 - 它是核心Heroku平台的一部分。

你做的是这个:

heroku domains:add www.moarcatz.tk

然后,转到您的DNS提供商moarcatz.tk,并为:

添加CNAME记录
www <heroku-app-name>.herokuapp.com

这将做两件事:

  • 将您的DNS指向Heroku。
  • 让Heroku过滤传入的流量并为该特定域允许它。