- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试按照本教程 ( https://github.com/digitalocean/Kubernetes-Starter-Kit-Developers/blob/main/03-setup-ingress-controller/nginx.md ) 进行加密来保护我的 nginx-ingress 连接。
我使用 helm 安装了 cert-manager (v1.8.0)。
应用了我的 ClusterIssuer kubectl apply -f issuesr.yaml
apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:
name: letsencrypt-nginx
spec:
# ACME issuer configuration
# `email` - the email address to be associated with the ACME account (make sure it's a valid one)
# `server` - the URL used to access the ACME server’s directory endpoint
# `privateKeySecretRef` - Kubernetes Secret to store the automatically generated ACME account private key
acme:
email: 'myemail'
server: https://acme-staging-v02.api.letsencrypt.org/directory
privateKeySecretRef:
name: letsencrypt-nginx-private-key
solvers:
# Use the HTTP-01 challenge provider
- http01:
ingress:
class: nginx
然后应用我的入口 kubectl apply -f ingress.yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: ingress-echo
annotations:
cert-manager.io/cluster-issuer: letsencrypt-nginx
spec:
tls:
- hosts:
- www.exmple.com
secretName: letsencrypt-nginx-echo
rules:
- host: www.example.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: backend
port:
number: 80
ingressClassName: nginx
为了调试,我运行了
$ kubectl get certificate
NAME READY SECRET AGE
letsencrypt-nginx-echo False letsencrypt-nginx-echo 39s
$ kubectl describe certificate
[...]
Status:
Conditions:
Last Transition Time: 2022-05-12T17:24:32Z
Message: Issuing certificate as Secret does not exist
Observed Generation: 1
Reason: DoesNotExist
Status: True
Type: Issuing
Last Transition Time: 2022-05-12T17:24:32Z
Message: Issuing certificate as Secret does not exist
Observed Generation: 1
Reason: DoesNotExist
Status: False
Type: Ready
Next Private Key Secret Name: letsencrypt-nginx-echo-nxzw6
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Issuing 3m23s cert-manager-certificates-trigger Issuing certificate as Secret does not exist
Normal Generated 3m23s cert-manager-certificates-key-manager Stored new private key in temporary Secret resource "letsencrypt-nginx-echo-nxzw6"
Normal Requested 3m23s cert-manager-certificates-request-manager Created new CertificateRequest resource "letsencrypt-nginx-echo-x2flf"
$ kubectl describe certificaterequest
Status:
Conditions:
Last Transition Time: 2022-05-12T17:24:32Z
Message: Certificate request has been approved by cert-manager.io
Reason: cert-manager.io
Status: True
Type: Approved
Last Transition Time: 2022-05-12T17:24:33Z
Message: Waiting on certificate issuance from order default/letsencrypt-nginx-echo-x2flf-1264636722: "pending"
Reason: Pending
Status: False
Type: Ready
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal cert-manager.io 5m2s cert-manager-certificaterequests-approver Certificate request has been approved by cert-manager.io
Normal OrderCreated 5m1s cert-manager-certificaterequests-issuer-acme Created Order resource default/letsencrypt-nginx-echo-x2flf-1264636722
$ kubectl describe order
Status:
Authorizations:
Challenges:
Token: bArXItH3_w1FLvjPfFprj2ksjFHPwZ0K6Vb25MlybRU
Type: http-01
URL: https://acme-v02.api.letsencrypt.org/acme/chall-v3/107853386656/VmvKxA
Token: bArXItH3_w1FLvjPfFprj2ksjFHPwZ0K6Vb25MlybRU
Type: dns-01
URL: https://acme-v02.api.letsencrypt.org/acme/chall-v3/107853386656/LgcZ5Q
Token: bArXItH3_w1FLvjPfFprj2ksjFHPwZ0K6Vb25MlybRU
Type: tls-alpn-01
URL: https://acme-v02.api.letsencrypt.org/acme/chall-v3/107853386656/Ut9rIQ
Identifier: www.example.com
Initial State: pending
URL: https://acme-v02.api.letsencrypt.org/acme/authz-v3/107853386656
Wildcard: false
Finalize URL: https://acme-v02.api.letsencrypt.org/acme/finalize/540497076/88058915876
State: pending
URL: https://acme-v02.api.letsencrypt.org/acme/order/540497076/88058915876
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Created 6m16s cert-manager-orders Created Challenge resource "letsencrypt-nginx-echo-x2flf-1264636722-1300283520" for domain "www.example.com"
$ kubectl describe challenge
Spec:
Authorization URL: https://acme-v02.api.letsencrypt.org/acme/authz-v3/107853386656
Dns Name: www.example.com
Issuer Ref:
Group: cert-manager.io
Kind: ClusterIssuer
Name: letsencrypt-nginx
Key: bArXItH3_w1FLvjPfFprj2ksjFHPwZ0K6Vb25MlybRU.NSQqkslrJ8YD-aL7n_dLekPhCAy4DkdFIOF0DCAHGzo
Solver:
http01:
Ingress:
Class: nginx
Token: bArXItH3_w1FLvjPfFprj2ksjFHPwZ0K6Vb25MlybRU
Type: HTTP-01
URL: https://acme-v02.api.letsencrypt.org/acme/chall-v3/107853386656/VmvKxA
Wildcard: false
Status:
Presented: true
Processing: true
Reason: Waiting for HTTP-01 challenge propagation: failed to perform self check GET request 'http://www.example.com/.well-known/acme-challenge/bArXItH3_w1FLvjPfFprj2ksjFHPwZ0K6Vb25MlybRU': Get "https://www.example.com:443/.well-known/acme-challenge/bArXItH3_w1FLvjPfFprj2ksjFHPwZ0K6Vb25MlybRU": remote error: tls: unrecognized name
State: pending
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Started 8m45s cert-manager-challenges Challenge scheduled for processing
Normal Presented 8m45s cert-manager-challenges Presented challenge using HTTP-01 challenge mechanism
如果我描述我得到的入口
TLS:
letsencrypt-nginx-echo terminates www.example.com
Rules:
Host Path Backends
---- ---- --------
www.example.com
/ backend:80 ('//myip')
Annotations: cert-manager.io/cluster-issuer: letsencrypt-nginx
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning AddedOrUpdatedWithWarning 12m nginx-ingress-controller Configuration for default/ingress-echo was added or updated ; with warning(s): TLS secret letsencrypt-nginx-echo is invalid: secret doesn't exist or of an unsupported type
Normal CreateCertificate 12m cert-manager-ingress-shim Successfully created Certificate "letsencrypt-nginx-echo"
最佳答案
我终于解决了这个问题。证书管理器正在创建一个没有指向任何地址的入口 acme-http-solver
。将 acme.cert-manager.io/http01-edit-in-place: "true"
添加到我的入口文件后,一切似乎都正常。
仅仅更新资源可能还不够,但实际上要删除并重新创建它。请参阅Issue 6065
关于azure - 等待 HTTP-01 质询传播 : failed to perform self check GET request,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72220278/
这个问题在这里已经有了答案: What's the proper value for a checked attribute of an HTML checkbox? (10 个答案) 关闭 8 年
我使用这个制作了自定义复选框: enter link description here 也可在 stackoverflow 上获得:enter link description here 但我正在尝试
我需要使用 CSS“checkbox-hack”来实现滑动菜单指示器效果,我唯一的方法是通过 JavaScript 附加输入元素。我被迫通过在线工具 MonoSolutions 执行此操作,并且我受到
此代码运行良好,但缺少一些我需要的东西。基本上,如果输入有一个 checked="checked" 属性,它应该使其他两个元素保持禁用状态。如果未选中,则元素已启用。 这是我在 jsFiddle 上的
当我的人 checkout 文件时,我希望他们将其锁定,以便其他人也无法进行更改,我从这篇文章中看到:http://msdn.microsoft.com/en-us/library/jj155783.
请告诉我这些函数的作用。 最佳答案 这些是基于框架的、与语言无关的方法,用于在 .NET 中定义代码契约。虽然某些语言(如 spec# 和 Delphi Prism)对代码契约具有一流的语言支持,但这
假设以下场景:您有 2 个单选按钮,它们具有相同的名称,并且都被选中(我知道这是无效的): 为什么下面两个选择器的行为不同? $('.input:checked').size(); // retu
我正在尝试收听广播。以下均不起作用: [编辑] $('selector').attr('checked','checked'); $('selector').attr('checked',true);
我实际上在努力理解此类型错误。 任何人都知道我如何更正代码?谢谢 CheckIn checkin1 = new CheckIn(location1, dt); CheckInMonths checkI
我有这段代码,但不起作用。 .on("click","span.name", function selectThisName(e) { if (e.altKey) {
我现在是 Espresso 的新手,我遇到了这个异常: android.support.test.espresso.AmbiguousViewMatcherException: 'with id: a
我已经创建了一个基本的 2 单选按钮表单,如下面的示例所示。 观察浏览器渲染,我们看到元素 1 被选中。我们检查元素 1 和元素 2。 当我点击元素 2 时,我希望元素 1 的 checked=che
我在查找以下 jquery/checkbox 行为的原因时遇到问题。 $( this.obj + ' table.sgrid-content > thead > tr > th > input.sel
以下逻辑应用在上午 10 点触发并运行 SQL Server 查询。从图片中可以看出,结果集是空的。 条件检查检查查询的结果集是否为空。 (第二张图) 这仍然如何转化为 True?结果显然是空的。 最
我想知道哪种操作更快: int c = version1.compareTo(version2); 这个 if (c == 1) 或者这个 if (c > 0) 符号比较是否只使用一位检查,而相等比较
我有一个包含大约 100 个问题的表单,每个问题都有一个单选按钮和一些复选框,因此我需要用户能够保存表单并在以后加载它。我还需要检查用户在此 session 中更改了哪些。 本题解决问题:How ca
我正在编写一个小程序,需要用户决定一些 bool 值。我已经制作了复选框来处理这一部分,但问题是每次我选中或取消选中一个复选框时,所有其他复选框都会跟随。 我在网上搜索过,但我找到的唯一解释( pyt
我有以下代码片段(我使用的是 jQuery 1.4.2): $.post('/Ads/GetAdStatsRow/', { 'ad_id': id }, function(result) {
我的代码发生了一些奇怪的事情。我有两个按钮,其中一个带有 .add 和 .remove 类,有一个复选框会根据按下哪个按钮而打开和关闭,因此如果您使用删除按钮删除,则选中的复选框将被选中,否则复选框将
我陷入了一种情况,我必须通过“选中”工具栏中的复选框来“选中”列表中存在的所有复选框。 这是创建复选框列表的代码:- itemTpl: 'checked="checked" /> {groupName
我是一名优秀的程序员,十分优秀!