【问题标题】:Add Nginx config file and generate let's encrypt using php添加 Nginx 配置文件并生成 let's encrypt using php
【发布时间】:2019-06-28 20:54:54
【问题描述】:

我正在为我的客户提供网站建设服务,客户也可以使用他们自己的域名。在我的服务器上,我使用 Nginx,并带有 Let's Encrypt 的证书。

有什么方法可以使用 php 或其他方式创建新的 Nginx 站点配置文件吗?另外,是否可以在新添加的文件上安装 let's encrypt 证书?

我希望这是可能的,因为我希望域映射过程是自动的。我已经有了我需要的东西,除了 Nginx 和 Let's Encrypt 的东西。

如果有人不理解我,这里有一个例子:

  1. 有人从他/她的帐户填写我的表格。 (我已经有表格了)
  2. 我的 (php) 代码创建了一个新的 Nginx 配置文件,其中包含他/她的域。
  3. 然后,我的 (php) 代码会生成新的 Let's Encrypt 证书并将其安装到新配置中。
  4. 最后,(php) 代码启用 Nginx 配置。 (带有从可用站点到已启用站点的符号链接)

如果有人对我有一些代码或提示,我感谢您的回复/回答。

【问题讨论】:

    标签: php nginx lets-encrypt


    【解决方案1】:

    从安全角度来看,您不应该从前端执行此类操作。这可能会造成很多麻烦,您需要更高的权限才能做到这一点。如果你有一个故障转移结构,你必须在所有节点上都这样做,这有点复杂。

    所以也许您可以使用 Ansible 将其自动化。对于 Ansible,您有很多模块。其中之一是 Let's Encrypt 的 Certbot 模块。

    https://github.com/geerlingguy/ansible-role-certbot

    在您的情况下,您可以构建一个包含您需要的所有域的文件,以及目录信息,您可以运行您的 Ansible 角色,并为您添加所有内容并重新加载您的服务器。

    https://github.com/geerlingguy/ansible-role-nginx

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-08-10
      • 2018-02-18
      • 2018-10-27
      • 2019-05-17
      • 2022-06-25
      • 1970-01-01
      • 2017-03-14
      相关资源
      最近更新 更多