仍然无法在HTTPS中连接到我的nginx网络服务器?

2025-05-09 13:00:03 0
  • 收藏
  • 管理

    那里,

    我是HTTS和证书/SSL问题的新手,所以可能我是在装傻,但无法让它运行。

    上下文:VPS in a Hoster(LWS),Debian 8,Nginx Server,一个域(用于启动),以及通过CERTBOT的图形用户界面客户端生成的来自let Encrypt的昨天新发布的临时证书。

    证书确实生成了,在屏幕大小上几乎没有问题,但我自己可以管理它。

    通过以下指令将nginx服务器设置为侦听端口443:

    听80;

    监听443 SSL1;

    Http端口80上的网站没有问题,但当我尝试在HTTPS上访问它时,没有网络响应。通过,我认为端口443是打开的,因为当我尝试Telnet www.mydomain.net 443时,我得到了一个空答案,尽管当我在例如444上尝试同样的操作时,我根本没有答案。

    在DNS端,我没有做任何修改,但我认为我没有必要这样做,对吗?

    我能做些什么来测试以了解我的配置出了什么问题,有什么帮助吗?

    谢谢,

    Olivier.,由Serverco在POST#2中解决

    嗨,奥利维尔,

    你应该不需要做任何的域名系统更改,HTTPS就可以工作,不需要。

    你能告诉我们你的域名吗,我们可以查一下吗?

    你应该不需要做任何的域名系统更改,HTTPS就可以工作,不需要。

    你能告诉我们你的域名吗,我们可以查一下吗?

    谢谢你的快速答复。

    在查看了给定的链接之后,我在nginx配置中添加的唯一行就是在端口443上进行侦听,除此之外没有其他内容。

    看起来我必须添加其他指令来告知不同的文件(证书、私钥…)在哪里。

    这可能是我得到这些错误的原因吗?奥利夫:

    看起来我必须添加其他指令来告知,例如,不同的文件(证书、私钥...)在哪里。

    这可能是我得到这些错误的原因吗?

    一定。

    添加所需的其余配置,它应该会开始工作(当然记得重启nginx),刚刚尝试了一下,非常感谢,工作得很顺利!

    还有几个问题,所以:

    我通过certbot gui生成了LetsEncrypt证书,如何检查这些证书是临时证书还是真证书?

    所有文件(cert.pem chain.pem fullchain.pem Prikey.pem)都是在/etc/letscrypt/archive/www.mydomain.net中生成的,而链接是在/etc/letscrypt/live/www.mydomain.net中创建的。我应该直接把/etc/letsencrypt/live/www.mydomain.net/cert.perm和Prike.pem放在我的nginx配置文件中吗?或者,我应该将它们复制到其他地方,或者创建硬链接或符号链接,并在我的nginx配置文件中引用这些链接吗?在这一点上,什么是最佳实践?

    最后(我想),我的nginx配置文件是两个Web域的服务器:www.mydomain.net和mydomain.net,通过指令:SERVER_NAME www.mydomain.net;,但证书仅用于www.mydomain.net。这里最好的选择是什么?

    再次感谢您的回答

    奥利夫,奥利夫:

    我通过certbot gui生成了LetsEncrypt证书,如何检查这些证书是临时证书还是真证书?

    除非您要求certbot制作暂存证书,否则它们不会被暂存,方法是通过--staging或--test-cert。以下是几种事后检查的方法:

    Grep Staging/etc/letsencrypt/renewal/www.mydomain.net.conf

    SUDO CAT/etc/letsencrypt/live/www.mydomain.net/cert.pem|openssl x509-noout-Text|grep颁发者:

    如果他们说Staging=False,而颁发者是We‘s Encrypt Authority X3,那么它就不是Stage。如果他们说Staging=True或者颁发者是假的le Intermediate X1,那么它就是一个临时证书,您应该在没有通过的情况下创建一个新的证书--Staging或--test-cert。

    奥利夫:

    我应该直接把/etc/letsencrypt/live/www.mydomain.net/cert.perm和Prike.pem放在我的nginx配置文件中吗?或者,我应该将它们复制到其他地方,或者创建硬链接或符号链接,并在我的nginx配置文件中引用这些链接吗?在这一点上,什么是最佳实践?

    我建议使用ssl证书/etc/letsencrypt/live/www.mydomain.net/fullchain.pem(而不是cert.pem)和ssl证书密钥/etc/letsencrypt/live/www.mydomain.net/privkey.pem.这是一个简单、典型的设置。

    奥利夫:

    最后(我想),我的nginx配置文件是两个Web域的服务器:www.mydomain.net和mydomain.net,通过指令:SERVER_NAME www.mydomain.net;,但证书仅用于www.mydomain.net。这里最好的选择是什么?

    您应该颁发一个新证书,这次将-d www.mydomain.net-d mydomain.net传递给certbot(以及您使用的任何其他选项)。,非常感谢。

    我学到了很多东西,非常有趣。

    所以,再问几个问题,只是为了确保:

    我用certbot gui生成了这个证书。我没有看到任何用于生成临时证书或多域证书的内容(例如,在我的示例中,为www.mydomain.net和mydomain.net生成一个证书)。我错过了什么,或者这不可能与图形用户界面?无论如何,我会用CLI制作更多的证书,在这方面没有问题,只是为了有更多的知识。

    在创建证书的过程中,在我的网站根目录下创建了一个新文件夹‘.well-now’。但它是空的。这正常吗?跟这件事有什么关系吗?

    Certbot有各种命令行选项,只需使用--test-cert或--staging即可使用测试/暂存服务器。请参阅用户指南-Certbot 2.7.0.Dev0文档

    奥利夫:

    在创建证书的过程中,在我的网站根目录下创建了一个新文件夹‘.well-now’。但它是空的。这正常吗?跟这件事有什么关系吗?

    是的,这是非常正常的。这个过程需要在你的网站上放置一个特定的令牌来证明所有权(参见它是如何工作的--让我们加密)。这是在.知名目录中完成的,serverco:

    Certbot有各种命令行选项,只需使用--test-cert或--staging即可使用测试/临时服务器。请参阅用户指南-Certbot 2.7.0.Dev0文档

    ==>是的,这里的真正问题是知道这是否可能通过CERTBOT图形用户界面,只是出于好奇心。我现在明白,通过Certbot CLI是可能的,并将以这种方式实现。

    Serverco:

    是的,这是非常正常的。这个过程需要在你的网站上放置一个特定的令牌来证明所有权(参见它是如何工作的--让我们加密)。这是在.Well目录中完成的。

    事实上,这就是为什么我对这个目录是空的感到惊讶。这正常吗?奥利夫:

    这里真正的问题是,是否可以通过CERTBOT图形用户界面实现这一点

    您如何访问certbot图形用户界面?我以为您是从命令行启动的。

    奥利夫:

    事实上,这就是为什么我对这个目录是空的感到惊讶。这正常吗?

    是的,一旦验证成功,令牌将被删除。serverco:

    您如何访问certbot图形用户界面?我以为您是从命令行启动的。

    是的,我是通过命令行“certbot certonly”启动的。我也可以将开关添加到这个命令行中,哪个将被用作gui?我不明白,谢谢你的解释。

    Serverco:

    是,一旦验证成功,令牌将被删除。

    太好了,就这么定了。

    所以,我想我现在把整个过程弄清楚了,现在只需要在其他网站上复制这个…

    非常感谢!好了,我终于需要更多的帮助了。

    我运行此命令以获取两个域名的证书:

    Certbot certonly--webroot-w/var/www_mydomain-d www.mydomain.net-d mydomain.net

    这对于www.mydomain.net URL来说工作得很好。

    无法在服务器上检查您是否真的在mydomain.net域上,因为其证书是为www.mydomain.net颁发的。可能是由于配置错误,或者是黑客拦截了您的连接。

    我说错了什么?

    谢谢。

    Olivier,真正的域名是什么?这里是:www.mydomain.net,证书只针对www.zzzzz.com(而不是zzzzz.com)。为什么推荐人没有为这两个域提供证书,我不知道。您能发布创建证书时的日志吗?有关完整的信息,当我运行该命令时,我有一个gui界面告诉我证书当前正在为www域运行,并询问我是否想要扩展它,我接受了。可能是原因?也许撤销它,并为两个地址请求一个新的新证书?,你不需要撤销来获得新的证书。

    我已经下载了日志(我不认为那里有任何隐私,但请随意删除它…我还没有全部检查过)

    当它扩展它时-您使用的是最新的证书吗?或者你还在使用旧的证书--在你扩展它之前?是的,老实说,我宁愿早晚删除日志,在公开所有这些时,我非常“紧张”(不是好词,但这就是想法)。

    此外,如果我能要求你删除你上一篇帖子中对我域名的引用,我会很高兴

    为了回答你的问题,我没有在nginx中更改任何关于证书路径的配置,因为新的证书路径在相同的位置和文件名中替换了旧的证书路径。

    你重新启动ngix来加载新的证书了吗?他妈的!

    太愚蠢了,我忘了这个。

    我刚刚重新启动了nginx服务,当然,它工作得很好

    对此真的很抱歉,应该自己想一想!

    非常感谢你的帮助,真的很感激!

    上一页:从099到5付费互联网时代的定价心理学 下一页:仍然可以通过http访问
    全部评论(0)