能否为Heroku应用程序设置白名单?

14

我有一个Heroku应用程序,通过SMPP与电信短信网关绑定。 电信公司需要将我的应用程序的IP地址列入白名单,以便连接。 我知道有一个新的附加功能“Proximo”,但价格太贵了,所以这个选项不可行。 是否有一个子网或IP列表可以列入白名单,并且能保证所有来自我的应用程序的请求都起源于这些IP? 我找到了这个 https://api.heroku.com/vendor/logplex/allowlist。 这只是针对syslog还是所有应用程序都会从其中一个IP发出请求?

谢谢

7个回答

9

6
Heroku文档明确提到,dynos没有静态IP地址。即使使用自定义域名,他们似乎也希望您指向CNAME记录而不是IP地址。因此,如果您需要静态IP,则Proximo似乎是您的最佳选择。
是否有可能使用API令牌来验证应用程序与短信网关的身份,类似于blitz.ip插件与Heroku配合工作的方式?那么您可能不需要使用静态IP白名单。 这个问题看起来与您正在做的事情类似,这个答案建议使用托管VPN服务。那会行吗?

我无法使用API令牌,电信公司坚持只允许IP白名单!托管VPN可能是一个选择,我会去查一下。谢谢。 - gsin

5

4

另一个Heroku附加选项是Quotaguard,目前处于测试阶段,并且现在免费。


4

您可以使用Dockhero Heroku add-on自己托管代理 - https://dockhero.io/,该代理具有静态IP(AWS弹性IP)。

  1. Install the add-on and the CLI plugin:

    $ heroku addons:create dockhero
    $ heroku plugins:install dockhero
    
  2. Wait until the provisioning is done and get DOCKHERO_HOST environment variable

    $ heroku dh:wait
    $ heroku config:get DOCKHERO_HOST
    --> e.g. dockhero-spherical-42047.dockhero.io
    
  3. Create dockhero-compose.yml file with the following contents:

    version: "2"
    services:
      proxy:
        image: tecnativa/tcp-proxy
        environment:
          LISTEN: ":80"
          TALK: "www.wikipedia.org:80"
        ports: 
          - "80:80"
    

在这里,www.wikipedia.org:80 是您要为其构建代理的服务器。 在https://docs.docker.com/compose/compose-file/compose-file-v2/中了解有关语法的更多信息。

  1. Run this stack in the cloud using Dockhero CLI:

    $ heroku dh:compose up -d
    
  2. Any requests to the host from DOCKHERO_HOST Heroku config var will now be proxied according to your dockhero-compose.yml

    $ curl http://dockhero-spherical-42047.dockhero.io/
    --> <response from www.wikipedia.org> 
    

重要提示:截至撰写本文时,dockhero.io处于Beta测试阶段,可免费使用。在转换到生产环境时,分配的IP可能会在事先通知后更改。


3
回答我自己的问题。尽管外部VPN或proximo插件是解决白名单Heroku应用程序的方案,但我决定选择更简单的选择,即使用弹性IP在EC2上托管我的应用程序的SMPP绑定服务。

1
你决定为你的EC2实例使用哪种服务了吗?我猜你正在运行某种类型的前向代理? - stereoscott

1

Fixie是另一个未在此处提及的替代附加组件。免费计划每月500个请求。需要对代码和Heroku应用程序进行一些调整才能处于美国地区(或者您可以迁移它:将应用程序迁移到另一个区域)。对我有用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接