0

我按照此处的说明 设置了我正在处理的 Django 项目的 OpenShift Origin 部署。一切似乎都在工作。有一个 Pod 运行一个设置了路由的服务,并且该服务是公开的。但是,当我浏览该网站时,我收到连接已重置的错误消息。使用卷曲:

curl http://my-openshift-website.com

结果是

curl: (52) Empty reply from server

此外,我还目睹了以下现象:

  • 我知道为索引网页提供服务的代码在我从浏览器(或使用 curl)访问它时运行,因为当我在请求“/”页面时添加代码以创建一个空文件时,我在 pod 的终端中看到确实创建了文件。
  • 当我尝试从 pod 终端(即从集群内)执行相同的 curl 命令时,一切正常,我得到了网页。
  • 当我尝试从 Web 浏览器访问服务时,Pod 的日志文件没有注册任何内容,但是当我从 Pod 终端进行访问时注册访问。
4

2 回答 2

0

从我这边看,这是一个愚蠢的错误。我正在使用 CERN (openshift.cern.ch) 部署的 OpenShift 集群。我没有在“管理您的 CERN 网站”页面的“站点访问和权限”中将可见性设置从“内联网”更改为“互联网”。有关此设置如何工作的附加说明:

上面 Web Services 中的配置页面操作的是 Openshift 项目中的默认路由,即未定义 Path 属性的路由(并且 Host 属性与 webservices 分配的 FQDN 匹配)。

在项目中使用多个路由和/或具有 Path 属性的路由时,每个路由的可见性通过路由注释 router.cern.ch/network-visibility 独立控制。此注释当前接受两个值:Internet 或 Intranet。没有注释(或任何其他值)被解释为 Intranet,即只能从 CERN 网络访问路由。

注释可以通过 oc annotate CLI 命令进行操作,例如 oc annotate route my-route router.cern.ch/network-visibility=Intranet

于 2018-08-27T04:35:25.123 回答
0

是否仅仅是因为注释或 DNS 映射也会导致这种行为

也可以解释您提到的注释,因为我尝试查找这些注释https://docs.openshift.com/container-platform/3.4/architecture/core_concepts/routes.html#route-specific-annotations但找不到

于 2018-08-28T18:09:42.383 回答