【发布时间】:2022-12-09 14:11:34
【问题描述】:
问题
每当我通过直接 ip 连接到我的网站时,例如:“https://my-ip”,网站加载正常。我的 DNS 也指向“https://my-ip”。我正在运行 nginx,为 React 前端提供服务,并将 HTTPS 调用反向代理为对我的 Django 后端的 HTTP 调用。然而,尝试通过主机名连接到我的网站时,示例 www.mywebsite.com 失败并显示 404,您可以通过尝试连接到 www.holdengjuka.com 来查看。我的 DNS 是 godaddy。我使用的是自签名安全证书。
【问题讨论】:
-
您正在使用带有掩码的 GoDaddy 域转发,该网站已加载到一个框架中,浏览器将因证书无效而拒绝加载它。最简单的根本不使用域转发,创建正确的 A/AAAA DNS 记录,然后使用 LetsEncrypt 设置证书
-
谢谢,我花了一段时间尝试正确格式化这个问题,我应该删除它还是保持原样并删除格式不正确的内容?
-
如果您可以通过我描述的步骤修复它,不妨编辑问题然后创建一个自我回答stackoverflow.com/help/self-answer 来帮助其他人,我在第一次尝试实施 HTTPS pre-LetsEncrypt 时代时也犯了同样的错误(我结束了使用 Cloudflare,这在今天仍然是一个不错的选择)
-
更新:它工作了大约 15 分钟,但现在 LetsEncrypt 证书抛出 NET::ERR_CERT_COMMON_NAME_INVALID 错误。该网站位于 www.holdengjuka.com。我被难住了,我正在编辑 nginx 配置以在后端反向代理上工作并输入 proxy_bind 命令,得到一个错误,该站点之后无法加载,然后删除了该行,因为它破坏了东西。我无法想象这会使证书无效并破坏网站?我会假设我在做什么是无关的。
-
啊,当你创建证书时,你应该输入你使用的所有域和子域,例如你的情况应该是 www.holdengjuka.com 和 holdengjuka.com,现在证书只对 holdengjuka.com 有效。此外,您的 A 记录之一指向 AWS,但它只向您的 IP 地址返回 301,我假设您正在设置 CDN,在这种情况下重新检查他们的文档