我们计划在同一个域名上托管 WordPress 博客和电子商务商店,因此 URL 将如下所示:
example.com <--- Magento Store
example.com/blog/ <--- WordPress Blog
我们主要担心的是电子商务商店的安全性。我们觉得将两个 CMS 托管在同一个文档根目录中不安全。
有没有关于如何在同一域名上安全托管多个 CMS 的最佳实践?我们考虑过
- 将部分代码移出文档根目录或
- 为每个 CMS 文件夹设置不同的所有者(或写入)权限
因此,如果有人入侵了 WordPress 博客,他们将无法访问网站的其他部分。谢谢
答案1
您可以在不同的 chroot 环境中设置多个 PHP-FPM 进程池。
然后,除此以外,所有请求example.com/blog/
都将被重定向到 PHP-FPM 存储池,并且/blog/
请求将被传递到博客池。
在不同的 chroot 环境中运行池可确保一个池无法访问另一个环境的文件。
答案2
只是想发布一个更新并分享我们最终如何在我们的服务器上解决这个项目。
- 我们为博客创建了一个单独的虚拟主机(例如 blog.example.com)。此虚拟主机托管在本地 IP 上,具有特定的内部端口,外部不可见。
- 博客的 Web 文件夹有一个单独的受限 Unix 用户:组,该用户只能访问博客 Web 文件夹
- 我们为博客使用了单独的 MySQL 用户,并且只具有博客数据库的权限
- 最后,我们在 example.com 上创建了一个代理重定向,指向单独的虚拟主机(example.com/blog => blog.example.com)
- blog.example.com 使用自己的 php-fpm 池来处理 PHP 脚本。