添加Nginx配置文件并使用php

时间:2019-06-28 20:54:54

标签: php nginx lets-encrypt

我正在为我的客户提供网站建设服务,客户也可以使用自己的域名。在我的服务器上,我使用Nginx以及“让我们加密”中的证书。

是否可以使用php或其他方式创建新的Nginx站点配置文件?另外,是否可以在新添加的文件上安装一个让我们加密的证书?

我希望这是可能的,因为我希望域映射过程是自动的。除了Nginx和“让我们加密”以外,我已经有了所需的东西。

如果有人不了解我,这是一个例子:

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

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

1 个答案:

答案 0 :(得分:0)

从安全角度看,您不应从前端进行此类操作。这可能会造成很多麻烦,并且您需要更高的特权才能执行此操作。如果您具有故障转移结构,则必须在所有节点上执行此操作,这有点复杂。

因此,也许您可​​以使用Ansible将其自动化。对于Ansible,您有很多模块。其中之一是“让我们加密”的Certbot模块。

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

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

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