【问题标题】:Hostname/IP does not match certificate's altnames: Host: localhost. is not in the cert's altnames: DNS:*.herokuapp.com, DNS:herokuapp.com主机名/IP 与证书的替代名称不匹配:主机:localhost。不在证书的替代名称中:DNS:*.herokuapp.com, DNS:herokuapp.com
【发布时间】:2020-10-03 01:43:12
【问题描述】:

我在Heroku 上创建并托管了一个 api。我的网络应用程序在本地主机上运行。我正在为我的应用程序使用NextJS。我可以通过在localhost 上运行的网络应用程序访问我在 Heroku 上托管的所有 API。我有一个 api 用于检查 cookie 是否可用,我在我的NextJS 应用程序的_app.js 文件的getInitialProps 方法中调用该api,这是框架的入口点。如果我评论该 api 调用代码,那么我不会收到任何错误,但我需要检查 cookie 是否存在,因此调用该代码会给出错误提示

Hostname/IP does not match certificate's altnames: Host: localhost. is not in the cert's altnames: DNS:*.herokuapp.com, DNS:herokuapp.com

当我登录时,我的cookie 也没有保存在浏览器中。它在postman 上运行良好,所以从我的 api 方面来说没有问题,我可以在邮递员中看到 cookie。 我确实在我的 NodeJS 应用程序中设置了以下内容

app.set("trust proxy", true);

我在我的express Nodejs 应用程序中使用cookie-session

【问题讨论】:

  • 你有这方面的线索吗? :)
  • 你解决了吗?我有同样的问题
  • 我也遇到了这个问题,你找到解决办法了吗?
  • 你解决了吗?我真的可以在这个问题上使用一些帮助。
  • 您可以尝试将其设置为环境变量NODE_TLS_REJECT_UNAUTHORIZED=0

标签: node.js express heroku session-cookies next.js


【解决方案1】:

阅读这篇文章: https://devcenter.heroku.com/articles/ssl

这是关于安装证书的。 对我来说,看起来只有证书是为localhost 签名的。浏览器会拒绝它,因为您使用另一个域名访问该站点。

所以你必须自签名证书并上传,或者购买可信证书。

【讨论】:

    猜你喜欢
    • 2021-07-07
    • 2012-12-25
    • 2020-12-19
    • 2018-11-05
    • 2017-07-23
    • 2017-09-14
    相关资源
    最近更新 更多