Han*_*der 5 contour kubernetes kubernetes-ingress grpc-web
此时允许 CORS 请求的最佳方法是什么?(鉴于 Contour Ingress 中的 CORS 支持目前在“停车场”中)
我的特定用例是托管一个 GRPC 服务,该服务特使反向代理。方便的是,contour 还支持开箱即用的 grpc-web,我们希望将其用于我们的 Web 服务。
但是,鉴于不支持 CORS,我们无法进行跨域请求。
除了让我们的 Web 应用程序使用与 GRPC api 相同的域外,目前还有其他解决方案可以满足我们的需求吗?
基本上,我们希望Envoy 的配置与GRPC Web 示例配置非常相似。
对于任何在尝试设置 Contour、gRPC 和 TLS 时偶然发现此问题的人;
你想用HTTPProxy它来代替。使用 TLS 的工作配置:
apiVersion: projectcontour.io/v1
kind: HTTPProxy
metadata:
name: service-proxy
spec:
virtualhost:
fqdn: service.example.com
corsPolicy:
allowCredentials: true
allowOrigin:
- "*"
allowMethods:
- GET
- POST
- OPTIONS
allowHeaders:
- authorization
- cache-control
- x-grpc-web
- User-Agent
- x-accept-content-transfer-encoding
- x-accept-response-streaming
- x-user-agent
- x-grpc-web
- grpc-timeout
- Grpc-Message
- Grpc-Status
- content-type
tls:
secretName: service-secret
routes:
- conditions:
- prefix: /
services:
- name: my-service
port: 80
---
apiVersion: apps/v1
kind: Deployment metadata:
labels:
app: my-app
run: my-service
name: my-service
spec:
replicas: 2
strategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 1
maxUnavailable: 1
selector:
matchLabels:
app: my-app
run: my-service
template:
metadata:
labels:
app: my-app
run: my-service
spec:
containers:
- image: image:latest
name: my-service
resources: {}
imagePullPolicy: Always
readinessProbe:
initialDelaySeconds: 10
periodSeconds: 2
httpGet:
path: /health-check
port: 3000
---
apiVersion: v1
kind: Service
metadata:
name: my-service
labels:
app: my-app
run: my-service
annotations:
projectcontour.io/upstream-protocol.h2c: "80"
spec:
ports:
- port: 80
targetPort: 50051
protocol: TCP
selector:
run: my-service
Run Code Online (Sandbox Code Playgroud)
projectcontour.io/upstream-protocol.h2c实际上应该是projectcontour.io/upstream-protocol.h2,但是这样做我TLS error: 268435703:SSL routines:OPENSSL_internal:WRONG_VERSION_NUMBER在响应中收到错误。此配置(带有h2c)似乎有效,并且实际上使用 TLS 来传输请求/响应数据。allowHeadrs,这只是一个现在对我有用的集合,它是grpcurl一个使用 React 构建的 Web 应用程序前端,使用了很棒的Nice-grpc-web库。service-secret实际上是手动生成的,我还没有测试证书管理器的东西。| 归档时间: |
|
| 查看次数: |
305 次 |
| 最近记录: |