【问题标题】:Openshift bind TCP portOpenshift绑定TCP端口
【发布时间】:2017-07-12 22:02:26
【问题描述】:

我正在尝试在 Openshift 上部署一个 python TCP 侦听器,但我不明白如何管理外部端口。 在 Openshift 自己的 KB 上进行谷歌搜索和搜索,this article 被多次提及,但不再可用。我的 TCP 服务器应用程序在端口 8080 上侦听(根据 $OPENSHIFT_PYTHON_PORT),我正在尝试通过端口 8000 从 Internet 连接到它。不过,这样做意味着客户端应用程序可以建立连接,即使服务器应用程序不是开始了。

有没有人知道如何做到这一点的具体信息?

【问题讨论】:

  • 是的,我做到了。并且大部分参考都指向这个链接:openshift.com/kb/kb-e1038-i-cant-bind-to-a-port,这是一篇不再在 Openshift 的 KB 上可用的文章。
  • 正如您提到的,您的服务器正在侦听 TCP/8080,我认为您必须尝试从互联网上的同一端口访问它,而不是在端口 8000 上。或者您有某种执行 NAT 或端口转发的第 3 层设备?
  • 我监听 8080 端口并尝试连接 8000 端口,因为无法从 Internet 访问端口 8080。根据Openshift documentation,我必须这样做。

标签: python openshift tcplistener


【解决方案1】:

您无法与 OpenShift 设备建立原始 tcp 连接,您只能建立 http (80/443) 和 ws (8000/8443) 连接。两种类型的连接都通过节点上的代理,http 通过 apache 代理,ws 通过节点代理。如果您想建立原始 tcp 连接,则必须从您的位置机器使用端口转发,并确保您通过自定义盒发布端口信息。

【讨论】:

    【解决方案2】:

    Internet Archive grab of the removed KB article you mentioned 说您可以绑定到内部端口 15000 到 35530。但现在情况已经改变:我的测试 OpenShift 框不允许我绑定到 任何 localhost 端口。它的 $OPENSHIFT_PYTHON_PORT 可以通过普通的 Web 端口(80 和 443;SSL 解密在 443 上为您完成)从外部访问。如果您需要其他端口,您可能需要 Openshift 以外的其他端口。

    【讨论】:

    • 请注意,我是从 2017 年 9 月 30 日关闭的 Openshift Online 2 的角度回答这个问题的。Openshift Online 3 是一个完全不同的系统。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-05-19
    • 2010-09-25
    • 1970-01-01
    • 2016-05-26
    • 1970-01-01
    • 1970-01-01
    • 2017-09-19
    相关资源
    最近更新 更多