【发布时间】:2020-05-05 00:27:10
【问题描述】:
我在前端有一个带有 Thymeleaf 的 Spring Boot 应用程序。我需要将应用程序部署到 Kubernetes 集群,在该集群中可以通过类似 my-k8s-cluster.com/my-application 的路径访问它。
上下文路径/my-application 是在 Kubernetes 端配置的,不是应用程序需要了解的主题。无需更改应用代码即可独立更改。
问题:与我是否使用context-relative URLs or server-relative URLs无关
Thymeleaf 指的是服务器根目录。当应用程序在my-k8s-cluster.com/my-application 上运行时,Thymeleaf 在my-k8s-cluster.com/ 中查找其资源,但未能加载它们。
问题:如何配置 Thymeleaf 以使用不同的上下文根独立运行?
更新: 这是我的 Ingress 配置的样子:
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- host: my-k8s-cluster.com
http:
paths:
- path: /my-application/?(.*)
backend:
serviceName: my-service
servicePort: 80
【问题讨论】:
-
你在使用 ingress 吗?请发布规范文件。
-
@KoopaKiller 请检查更新后的问题。
-
您能否通过指定您的运行方式来分享您的代码库?
-
谢谢@Davislor。是的,这个问题被标记为离题,这就是我删除它的原因。正如你所说,这个问题与未设置时区有关(因为它在 Docker 内部)。我通过在运行脚本之前设置
DEBIAN_FRONTEND=noninteractiveenv 变量解决了这个问题 -
@SashaShpota 我很欣赏这个想法,但serial voting 可能会给你带来麻烦。在规则范围内做你想做的事情的公认方式是奖励赏金。 :)
标签: java spring spring-boot thymeleaf