Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sockets FreeBSD监狱和插座_Sockets_Freebsd_Jail - Fatal编程技术网

Sockets FreeBSD监狱和插座

Sockets FreeBSD监狱和插座,sockets,freebsd,jail,Sockets,Freebsd,Jail,我对从Linux切换到freeBSD是个新手 我读过关于监狱的文章,这个解决方案听起来对服务器系统很好。 所以我的Web服务器的想法是创建3个监狱。 一个是mysql监狱,一个是nginx监狱,一个是php fpm监狱。 现在监狱必须互相沟通。我该怎么做 通过IP?这将是一个很大的开销,但安全。 以下是一个例子: 客户 ->TCP/IP->NGINX ->TCP/IP->PHP-FPM ->TCP/IP->MYSQL ->TCP/IP->PHP-FPM ->TCP/IP->NGINX ->T

我对从Linux切换到freeBSD是个新手

我读过关于监狱的文章,这个解决方案听起来对服务器系统很好。 所以我的Web服务器的想法是创建3个监狱。 一个是mysql监狱,一个是nginx监狱,一个是php fpm监狱。 现在监狱必须互相沟通。我该怎么做

通过IP?这将是一个很大的开销,但安全。 以下是一个例子:

  • 客户
    • ->TCP/IP->NGINX
    • ->TCP/IP->PHP-FPM
    • ->TCP/IP->MYSQL
    • ->TCP/IP->PHP-FPM
    • ->TCP/IP->NGINX
    • ->TCP/IP->客户端
带插座:这将是一个安全los

  • 在主机系统上创建一个目录
  • 在监狱里创建一个目录
  • 合并目录

您使用哪种解决方案?或者您有更好的解决方案吗?

我不会分离php fpm,但这是可能的。如今,IP通信的开销并没有那么大,而且考虑到数据库和php处理器需要进行的处理要大得多,这一点也不重要。特别是因为没有实际的电线。数据包通过环回结构通过接口进行路由,并且不会碰到电线

分离的好处是,如果需要,你可以将监狱移动到另一台物理机器上,移动监狱是轻而易举的事


为了澄清为什么不将php fpm转移到单独的监狱中,修改网站将成为静态内容(图像)和动态内容(php文件)的两个任务过程。优点是Web服务器软件中的漏洞无法修改php代码。这也是为什么如果你打算分开,就不应该将你的php代码放到Web服务器上,因为这样会破坏它的优势。

我真的不知道这是否是最好的解决方案,但是如果你可以使用
Unix域套接字
你可以在三个监狱之间共享一个挂载。名称空间是隔离的(它们不能在共享装载点之外创建套接字),它们应该能够通信

要创建共享装载,可以使用
nullfs
mount。一个不错的(相当高级的)也谈到了
nullfs
挂载。当然,这个挂载点应该只用于套接字,其他文件应该保持独立

同样,我不知道这些应用程序是否可以通过Unix套接字进行通信,但如果可以,您可能已经设置好了