【问题标题】:MongoDB & Let's Encrypt = "server certificate does not match the host name"MongoDB & Let's Encrypt = "服务器证书与主机名不匹配"
【发布时间】:2018-09-14 23:25:58
【问题描述】:

对于我的硕士论文,我想设置一个解析服务器来处理后端。我是工程师而不是程序员,所以我遇到了一些问题。他们中的大多数可以通过搜索网络来解决,但这有点棘手。 我来自德国,我的教授希望我将数据放在位于德国的服务器上。

我从我的大学获得了一个运行 Ubuntu 18.04 LTS 和一个域的 VPS Droplet,并安装了以下内容:

  • nginx + 让我们加密
  • Node.js
  • MongoDB

我还安装了 parse-server-example repo 和 parse-dashboard,它们在 HTTP 上运行良好。

下一步是保护 MongoDB,所以我按照以下教程进行操作,直到我尝试连接到数据库时,一切都按预期工作。

https://www.digitalocean.com/community/tutorials/how-to-migrate-a-parse-app-to-parse-server-on-ubuntu-14-04

当连接到 mongoDB 时,我得到这个响应:

connecting to: mongodb://127.0.0.1:27017/
2018-09-15T01:12:32.808+0200 W NETWORK  [js] The server certificate 
does not match the host name. Hostname: 127.0.0.1 does not match SAN(s): xxxxxx.de www.xxxxxx.de 
MongoDB server version: 4.0.2

现在我被困住了。阅读 mongoDB 文档很有趣,但对我来说并不是很有帮助。

https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/#install-mongodb-community-edition

我找到了命令...

mongo --host 127.0.0.1:27017

...并尝试了 VPS IP 以及我的域名指向服务器 IP,但它不起作用。

【问题讨论】:

    标签: mongodb ssl parse-server


    【解决方案1】:

    编辑您的 /etc/hosts 文件。添加以下行。然后使用域名访问您的服务。将 xxxx 替换为您的真实域名。

    127.0.0.1 xxxxxx.de

    127.0.0.1 www.xxxxxx.de

    【讨论】:

      【解决方案2】:

      虽然主机标志技巧一般来说是一个不错的技巧,但现在有一种更简单的方法可以专门针对这个用例执行此操作:

      您可以使用“--sslAllowInvalidCertificates”作为标志...

      不用说,如果安全是一个问题,请谨慎使用它。

      [来源:https://docs.mongodb.com/manual/reference/configuration-options/#net.ssl.allowInvalidHostnames]

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-01-17
        • 1970-01-01
        • 1970-01-01
        • 2015-06-27
        • 2013-01-18
        • 2018-09-28
        • 2020-12-27
        • 2011-05-29
        相关资源
        最近更新 更多