blo*_*loo 3 ssl nginx kubernetes
在获取SSL终止Ingress和基于nginx的控制器上运行裸机(例如Digital Ocean)时,我能找到的最接近的教程是这样的:
https://github.com/kubernetes/contrib/tree/master/ingress/controllers/nginx
但它留下了许多无法解释的假设.
location ^~ /.well-known/acme-challenge/
允许我的LetsEncrypt证书续订工作location /.well-known/acme-challenge/
location /
我的答案适用于https://github.com/kubernetes/contrib/tree/master/ingress/controllers/nginx
- 所有主机的端口80的默认后端:
- 404上
location /.well-known/acme-challenge/
使用Ingress规则是不可能的
- 301上
location /
这已经得到支持.如果服务器包含SSL证书,它将https
自动重定向到
- 基于子域的路由到端口443上的不同后端服务
- 每个子域指向一个不同的SSL密钥/证书(由我的LetsEncrypt生成,并作为秘密存储在K8S中我想?)
您需要创建多个Ingress规则,每个子域一个.每个规则可以使用不同的秘密名称(这将创建多个服务器,每个子域一个)
- 关于编写Ingress规则的完整文档
http://kubernetes.io/docs/user-guide/ingress/
(我不知道id除了go代码之外还有其他信息)
- 我可以为每个后端单独配置SSL证书(在端口443上)吗?
- 对于主持人而言,这是"路径"吗?
是
- 更新Ingress规则
- 我使用什么nginx控制器?nginx的?nginx的-α?nginx-ingress docker container - 这些控制器的文档在哪里?
这取决于您的需求,如果您想构建自定义Ingress控制器,您可以将其nginx-alpha
用作参考.如果nginx-ingress
在示例中不清楚,请打开一个问题,并提及示例中可以改进的内容或者缺少这些内容
- 是否有一个基本控制器映像,我可以覆盖nginx.conf模板,该模板由来自API服务器的Ingress更改填充?
不可以.原因是模板与填充模板的go代码相关联.也就是说,您可以构建自定义映像来更改模板,但这需要您部署映像以测试更改
- 如何将SSL密钥和证书存储为秘密?
是的,像这样的秘密http://kubernetes.io/docs/user-guide/ingress/#tls
如需letsencrypt
支持,请查看此评论https://github.com/kubernetes/kubernetes/issues/19899#issuecomment-184059009
这是一个完整的示例https://gist.github.com/aledbf/d88c7f7d0b8d4d032035b14ab0965e26 添加到#766中的示例
归档时间: |
|
查看次数: |
1933 次 |
最近记录: |