gpt4 book ai didi

ssl - 使用运行网络服务器 (nginx) 的 VM 实例让 SSL 在 Google Compute Engine 上工作?

转载 作者:行者123 更新时间:2023-12-04 22:38:59 30 4
gpt4 key购买 nike

我对谷歌计算引擎有点陌生,并设法让一个带有 nginx 的网络服务器在我的谷歌域上工作并安装了 WordPress。 HTTP 访问正常。现在我想让 HTTPS 也能正常工作。
我注意到我没有运行 SSL,因此我最终使用了 cloudflare,对我的 nginx 服务器进行了必要的更改,并在 Google Compute Engine 上更改了我的网络服务器 IP 地址的名称服务器。这很好用。虽然,访问IP地址而不是域名时仍然存在一些错误(400 Bad Request No required SSL certificate was sent nginx/1.18.0 (Ubuntu))。
所以,我听说谷歌可以在我的谷歌域上做 SSL,但我真的被文档困住了,https://cloud.google.com/appengine/docs/standard/python/securing-custom-domains-with-ssl?authuser=2#upgrading_to_managed_ssl_certificates .它谈到了 Google App Engine,我还没有找到将 SSL 证书应用于我的 Google Compute Engine 实例的文档。虽然,我在那里添加了一个自定义域,但它指向的 IP 地址与我在 Google Compute Engine 上的网络服务器不同。这肯定不是正确的方法吗?
因此,有谁知道如何使用 Google Compute Engine 上的 VM 实例从 Google 获取 SSL 以在我的网络服务器上工作?
(我自己注意:https://www.digitalocean.com/community/tutorials/how-to-secure-nginx-with-let-s-encrypt-on-ubuntu-20-04)

最佳答案

在 Compute Engine 上设置 SSL 非常容易。
第一步:域名
确定您需要 SSL 证书的域名。通常你想要两个。裸域 (example.com) 和区域 www (www.example.com)。将 example.com 替换为您的实际域名。
注意:Let's Encrypt 不会为 IP 地址颁发 SSL 证书。这也意味着您无法使用 SSL 指定 IP 地址而不是域名来访问您的 Web 服务器。尝试这样做会产生错误:https://my-ip-address.com
第 2 步:设置 DNS
将您的 DNS 服务器更改为直接指向您的 Compute Engine 实例保留的静态 IP 地址。此时,不要使用 CloudFlare。 Let's Encrypt 将直接与您的 Nginx Web 服务器对话。验证每个域名的配置是否正确,并且您可以通过 HTTP(http://example.comhttp://www.example.com)访问您的站点。
以下说明取决于操作系统,适用于基于 Debian 的系统,例如 Debian 和 Ubuntu。 CentOS、Red Hat 等也有类似的步骤。
第 3 步:安装 Certbot
Certbot 是 Let's Encrypt 的软件代理。这需要在您的系统上安装 Python3。大多数 Google Cloud 实例都安装了 Python 3。
在您的 VM 实例上运行以下命令:

  • sudo apt 更新
  • sudo apt upgrade -y
  • sudo apt install certbot python3-certbot-nginx

  • 第 4 步:VPC 防火墙
    确保 Google Cloud VPC 防火墙中允许使用端口 80 和 443。
    Using firewall rules
    第 5 步:颁发 SSL 证书
    在您的 VM 实例上运行以下命令。将 example.com 替换为您的域名。
  • sudo certbot --nginx -d example.com -d www.example.com

  • 总结
    您的服务器现在已配置 SSL。 SSL 证书将自动更新。如果您不更改域名或 DNS 服务器设置,SSL 将继续运行。
    将来,您可能决定将 SSL 证书卸载到其他服务,例如 Cloudflare 或 Google HTTP(S) 负载均衡器。我建议了解如何直接在您的实例上设置 SSL,以便加密是端到端的。然后,您可以决定 SSL 卸载、缓存、负载平衡、自动缩放和更多选项。

    关于ssl - 使用运行网络服务器 (nginx) 的 VM 实例让 SSL 在 Google Compute Engine 上工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70386912/

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