我正在为我的客户提供网站建设服务,客户也可以使用自己的域名。在我的服务器上,我使用Nginx以及“让我们加密”中的证书。
是否可以使用php或其他方式创建新的Nginx站点配置文件?另外,是否可以在新添加的文件上安装一个让我们加密的证书?
我希望这是可能的,因为我希望域映射过程是自动的。除了Nginx和“让我们加密”以外,我已经有了所需的东西。
如果有人不了解我,这是一个例子:
- 有人从他/她的帐户填写我的表格。 (我已经有一个表格)
- 我的(php)代码使用其域创建了一个新的Nginx配置文件。
- 然后,我的(php)代码生成并在新配置中安装新的Let's Encrypt证书。
- 最后,(php)代码启用Nginx配置。 (具有从可用站点到启用站点的符号链接)
如果有人对我有一些代码或提示,非常感谢您的答复/答复。
答案 0 :(得分:0)
从安全角度看,您不应从前端进行此类操作。这可能会造成很多麻烦,并且您需要更高的特权才能执行此操作。如果您具有故障转移结构,则必须在所有节点上执行此操作,这有点复杂。
因此,也许您可以使用Ansible将其自动化。对于Ansible,您有很多模块。其中之一是“让我们加密”的Certbot模块。
https://github.com/geerlingguy/ansible-role-certbot
在您的情况下,您可以构建一个包含所有域的文件,并包含目录信息,并且可以运行Ansible角色,并为您添加了所有内容,并重新加载了服务器。