【发布时间】:2018-05-06 21:07:59
【问题描述】:
我正在尝试使用我自己的证书创建重定向规则到 GC 存储桶。我有这样的配置:
kind: Service
apiVersion: v1
metadata:
name: proxy-to-gcs
spec:
ports:
- protocol: TCP
port: 80
targetPort: 80
type: ExternalName
externalName: storage.googleapis.com
----
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: proxy-to-gcs
annotations:
kubernetes.io/tls-acme: "true"
ingress.kubernetes.io/ssl-redirect: "true"
ingress.kubernetes.io/rewrite-target: bucket_name/public
kubernetes.io/ingress.class: nginx
spec:
tls:
- hosts:
- www.example.com
secretName: secret-name-tls
rules:
- host: www.example.com
http:
paths:
- path: /
backend:
serviceName: proxy-to-gcs
servicePort: 80
当我想看到 www.example.com/.well-known/acme-challenge/ 作为 kube-lego 端点时,我看到了谷歌存储桶 404 页面。重写目标存在问题,它不考虑 kube-lego 的存在。有什么建议么?谢谢。
【问题讨论】:
-
是的,看起来问题出在重写中。你能解释一下你对这次重写的期望吗?如果您想将路径定义为您网站的根目录,请尝试使用
nginx.ingress.kubernetes.io/app-root注释。 -
嗨,我在 GCP 上有一些存储桶,其中存储了静态内容(css、js、图像)。内容存储在公共文件夹中。所以这些文件可以通过例如访问:
http://storage.googleapis.com/my_bucket/public/example.css我需要通过我自己的域使用 https 以这种格式访问它:http://www.example.com/example.css。 -
如果您只想从存储桶托管静态网站,您可以使用官方文档cloud.google.com/storage/docs/hosting-static-website 作为操作方法。
-
谢谢。现在我有下一个问题-我创建了域和存储桶
bucket.example.com-它工作正常,但是在入口中我有两个带有ssl重定向的域,我想将其用作此存储桶的代理...即:foo.example。 com/file.css 和 boo.example.com/file.css ... .boo.example.com/file.css ... .boo.example.com/file.css 都应该显示来自存储桶域的相同文件 .... 但是当我从入口删除重写目标并将代理服务中的外部名称更改为bucket.example.com.... 我看到NoSuchBucket消息。
标签: url-rewriting kubernetes kubernetes-ingress kube-lego