gpt4 book ai didi

apache - Let's Encrypt证书: https://www. website.com的问题不适用于重定向到https ://website. com

转载 作者:行者123 更新时间:2023-12-03 14:42:44 26 4
gpt4 key购买 nike

我为网站生成的证书有问题(在此处称为website.com)。

我可以输入浏览器http://www.website.com,并根据需要成功重定向到https://website.com(使用let's encrypt生成的证书)。我已经使用Apache2的重写规则完成了这种重定向。当我键入https://website.com时,重定向到http://website.com也可以正常工作。

现在,当我直接在浏览器中输入https://wwww.website.com时,我遇到了一个问题:我收到以下错误消息:

enter image description here

为了生成让我们加密的证书,我执行了以下命令:
./certbot-auto certonly --no-bootstrap --no-self-upgrade --renew-by-default -a standalone -d website.com --rsa-key-size 4096
我想生成一个同时适用于website.comwww.website.com的证书:上面带有cerbot-auto的命令对此正确吗?

从Debian 7迁移到Debian 10之前,似乎在浏览器的证书信息窗口中有一个*.website.com名称,但不确定。

如何键入https://www.website.com并正确重定向到https://website.com而又没有上图所示的错误?

更新1

单个证书足以执行所有重定向吗?在我的情况下,我的意思是仅一个证书website.com?我以前的操作系统就是这种情况,我认为我只有一个uniq证书(用于website.com)。

我想进行以下重定向:

http://website.com -----> https://website.com

http://www.website.com -----> https://website.com

https://www.website.com -----> https://website.com

URL包含我想保持在HTTP模式下的目录 podcast的URL除外。

因此,从 Ref: Apache redirect www to non-www and HTTP to HTTPS,我做到了:
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteCond %{REQUEST_URI} !^/podcast [NC]
RewriteRule ^ https://website.com%{REQUEST_URI} [L,NE,R=301]

这些重写规则似乎正确吗?

不幸的是,如果我直接键入 https://www.website.com,则不会重定向到 https://website.com,并且出现上面的“警告”窗口图,我不知道该怎么办。

更新2

1)让我们加密提供生成“通配符”证书的可能性吗?我的意思是当我们在浏览器中查看证书时,其形式为 *.website.com

2)此外,还有谁知道如何用apache2执行规则重写规则,该规则允许将 https://www.website.com重定向到 https://website.com

要获得更多信息,我开始提供赏金。
在赏金结束时,我将讨论如何进行从 https://www.website.comhttps://website.com的重定向(这些URL在相同的href标记下被屏蔽为赏金,但是它们是不同的)。

更新3

感谢您的回答。我认为我的问题与通配符证书无关,因为我只想从 https://www.website.com重定向到 https://website.com( 不考虑上面的UPDATE2。当然,简单的重写规则就足够了。在当前操作系统之前(Debian 10 ),我现在尝试再次使用的所有配置文件都运行良好,尤其是,我只使用了一个使用选项“ -d website.com”生成的证书(我没有使用第二个域“ www.website.com”)。

我将尝试修改这些重写规则以获取此重定向,而不必生成www.website.com证书文件。

最佳答案

您可以尝试对原始certbot-auto命令运行此次要更新,以获取包含附加www.website.com域名的证书。
(我相信这就是约翰·汉利(John Hanley)在对您的原始问题的评论中所说的)
请注意,根据一种来源(下面的lettencrypt社区链接),如果您已经设置了URL重写规则,则可能必须删除它们,然后才能进行认证过程。 (如果运行命令并出现错误,则可能是原因)

./certbot-auto certonly --no-bootstrap --no-self-upgrade --renew-by-default -a standalone -d website.com -d www.website.com --rsa-key-size 4096

可能有用的引用:

certbot的命令参数引用(手册页)
https://certbot.eff.org/docs/man/certbot.html?highlight=bootstrap

letsencrypt有关添加新域的社区讨论
https://community.letsencrypt.org/t/add-a-domain-using-certbot-auto/33660

letsencrypt用于更新现有证书的文档
https://certbot.eff.org/docs/using.html#re-creating-and-updating-existing-certificates
注意,根据手册页,-renew-by-default缺省意味着--expand,在这些示例中使用
(--expand仅使您不必回答是否有意更新现有证书)

我认为您的重写规则看起来大致上还可以,就像之前提到的那样,可能需要暂时将其删除才能生成证书。在这些规则之前,您可能需要“RewriteEngine On”:
RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteCond %{REQUEST_URI} !^/podcast [NC]
RewriteRule ^ https://website.com%{REQUEST_URI} [L,NE,R=301]

对于通配符证书的问题,仅在其他插件的帮助下才支持它们。在这里查看更多:
https://certbot.eff.org/docs/using.html?highlight=wildcard#id14

关于apache - Let's Encrypt证书: https://www. website.com的问题不适用于重定向到https ://website. com,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60268984/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com