【问题标题】:OpenShift - How to redirect an $url/$path into an $urlOpenShift - 如何将 $url/$path 重定向到 $url
【发布时间】:2018-09-19 07:35:13
【问题描述】:

我问的是一个问题,当您知道如何做时可能很容易,但经过多次尝试后我仍然没有解决。

我有一个可通过以下 URL 访问的 JavaEE 网站:http://siteperso-valentin.1d35.starter-us-east-1.openshiftapps.com/sitePerso/

但我希望它可以直接通过http://siteperso-valentin.1d35.starter-us-east-1.openshiftapps.com/ 访问,而不需要sitePerso

为此,在我的 Openshift 帐户中,我有一条路线如下:

apiVersion: route.openshift.io/v1
kind: Route
metadata:
  annotations:
    openshift.io/host.generated: 'true'
  creationTimestamp: '2018-02-18T14:00:04Z'
  labels:
    app: siteperso
  name: siteperso
  namespace: valentin
  resourceVersion: '2416325777'
  selfLink: /apis/route.openshift.io/v1/namespaces/valentin/routes/siteperso
  uid: ********
spec:
  host: siteperso-valentin.1d35.starter-us-east-1.openshiftapps.com
  path: /sitePerso/
  port:
    targetPort: 8080-tcp
  to:
    kind: Service
    name: siteperso
    weight: 100
  wildcardPolicy: None
status:
  ingress:
    - conditions:
        - lastTransitionTime: '2018-02-18T14:00:04Z'
          status: 'True'
          type: Admitted
      host: siteperso-valentin.1d35.starter-us-east-1.openshiftapps.com
      routerCanonicalHostname: elb.1d35.starter-us-east-1.openshiftapps.com
      routerName: router
      wildcardPolicy: None

我认为我需要另一条路线以某种方式使sitePerso“不可见”,但我没有做到。

提前感谢您的帮助,

【问题讨论】:

    标签: url redirect configuration openshift


    【解决方案1】:

    如果您使用的是 OpenShift JWS/Tomcat 构建器映像之一,并且希望您的应用程序/站点在根上下文中可用,请确保使用 ROOT.war 名称作为战争文件的名称被部署。

    其他名称部署在各自的上下文中,即 <route_url>/sitePerso 以防您用于二进制部署的 sitePerso.war

    所以基本上,把战争的名字改成ROOT.war解决了这个问题。

    【讨论】:

      【解决方案2】:

      Route 无法在 URL 通过时对其进行操作。 path 设置仅指示该子路径的 URL 是否应与该路由匹配并通过,它不会更改 URL。

      如果您不能只更改应用程序以将应用程序挂载在站点的根目录而不是子 URL,那么您将不得不在 OpenShift 内部部署自己的代理,它可以执行 URL为你重写。

      【讨论】:

        猜你喜欢
        • 2019-08-15
        • 2020-08-07
        • 1970-01-01
        • 2011-08-06
        • 2019-05-14
        • 1970-01-01
        • 2012-08-27
        • 2021-10-20
        相关资源
        最近更新 更多