6.2.6.2.2. 向路由发出 HTTP 请求


对于所有示例,您可以使用以下 curl 命令发出 HTTP 请求。它使用内联脚本来检索 openshift 命名空间和集群基域,如果您使用不支持这些内联脚本的 shell,您应该将内联脚本替换为实际命名空间和基域的值。

curl -k https://platform-http-server-`oc config view --minify -o 'jsonpath={..namespace}'`.`oc get dnses/cluster -ojsonpath='{.spec.baseDomain}'`/hello?name=Camel-K
Copy to Clipboard Toggle word wrap
  • 要使用 secret 添加 边缘路由,请使用以 -secret 结尾的参数设置包含证书的 secret 名称。此路由特征引用名为 my-combined-certs 的 secret,其包含名为 tls.keytls.crt 的两个密钥。

    kamel run --dev PlatformHttpServer.java -t route.tls-termination=edge -t route.tls-certificate-secret=my-combined-certs/tls.crt -t route.tls-key-secret=my-combined-certs/tls.key
    Copy to Clipboard Toggle word wrap
  • 要使用 secret 添加 透传 路由,TLS 在集成 pod 中被设置,在运行的集成 pod 中应该可以看到这些密钥和证书,以便实现此目的,我们在集成 pod 中挂载 secret,然后我们使用 some camel quarkus 参数在运行的 pod 中引用这些证书文件,它们以 -prkus.http.ssl.ssl.ssl.certificate 开头。此路由特征引用名为 my-combined-certs 的 secret,其包含名为 tls.keytls.crt 的两个密钥。

    kamel run --dev PlatformHttpServer.java --resource secret:my-combined-certs@/etc/ssl/my-combined-certs -p quarkus.http.ssl.certificate.file=/etc/ssl/my-combined-certs/tls.crt -p quarkus.http.ssl.certificate.key-file=/etc/ssl/my-combined-certs/tls.key -t route.tls-termination=passthrough -t container.port=8443
    Copy to Clipboard Toggle word wrap
  • 要使用 secret 添加 重新加密路由,TLS 在集成 pod 中被设置,在运行的集成 pod 中应看到密钥和证书,以 --resource kamel 参数在集成 pod 中挂载 secret,然后我们使用 some camel quarkus 参数在运行的 pod 中引用这些证书文件,它们以 -p quarkus.http.ssl.ssl.certificate.ssl.certificate.此路由特征引用名为 my-combined-certs 的 secret,其包含名为 tls.keytls.crt 的两个密钥。

    kamel run --dev PlatformHttpServer.java --resource secret:my-combined-certs@/etc/ssl/my-combined-certs  -p quarkus.http.ssl.certificate.file=/etc/ssl/my-combined-certs/tls.crt -p quarkus.http.ssl.certificate.key-file=/etc/ssl/my-combined-certs/tls.key -t route.tls-termination=reencrypt -t route.tls-destination-ca-certificate-secret=my-combined-certs/tls.crt -t route.tls-certificate-secret=my-combined-certs/tls.crt -t route.tls-key-secret=my-combined-certs/tls.key -t container.port=8443
    Copy to Clipboard Toggle word wrap
  • 使用来自路由和 Openshift 服务证书 的特定证书为集成端点添加 重新加密路由,请执行以下操作:这样,Openshift 服务证书只在集成 pod 中设置。在运行中的集成 pod 中应该可以看到密钥和证书,以达到此目的,我们使用 --resource kamel 参数将 secret 挂载到集成 pod 中,然后我们使用 some camel quarkus 参数来引用正在运行的 pod 中的这些证书文件,它们以 -p quarkus.http.ssl.certificate 开头。此路由特征引用名为 my-combined-certs 的 secret,其包含名为 tls.keytls.crt 的两个密钥。

    kamel run --dev PlatformHttpServer.java --resource secret:cert-from-openshift@/etc/ssl/cert-from-openshift  -p quarkus.http.ssl.certificate.file=/etc/ssl/cert-from-openshift/tls.crt -p quarkus.http.ssl.certificate.key-file=/etc/ssl/cert-from-openshift/tls.key -t route.tls-termination=reencrypt -t route.tls-certificate-secret=my-combined-certs/tls.crt -t route.tls-key-secret=my-combined-certs/tls.key -t container.port=8443
    Copy to Clipboard Toggle word wrap

    然后,您应注解集成服务以注入 Openshift 服务证书

    oc annotate service platform-http-server service.beta.openshift.io/serving-cert-secret-name=cert-from-openshift
    Copy to Clipboard Toggle word wrap
  • 使用您本地文件系统提供的证书和私钥添加 边缘路由。本例使用内联脚本读取证书和私钥文件内容,然后删除所有新行字符(这是把证书设置为参数值),因此这些值位于一行中。

    kamel run PlatformHttpServer.java --dev -t route.tls-termination=edge -t route.tls-certificate="$(cat tls.crt|awk 'NF {sub(/\r/, ""); printf "%s\\n",$0;}')" -t route.tls-key="$(cat tls.key|awk 'NF {sub(/\r/, ""); printf "%s\\n",$0;}')"
    Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat