我正在使用linux。有一些域名,例如以下内容:
/home/wwwroot/aaa.com
/home/wwwroot/bbb.com
/home/wwwroot/ccc.com
FILE1: /home/wwwroot/aaa.com/get.php
FILE2:/home/wwwroot/bbb.com/config.php
在PILE1中,我写道:
<?php
$data = file_get_contents('/home/wwwroot/bbb.com/config.php');
echo $data; //i can get the data.
?>
我觉得不安全。你能不能告诉我如何使用nignx配置来配置域只允许访问其目录。?
答案 0 :(得分:0)
好的,这就是你需要做的,我们需要为这两个网站创建单独的池,池位于/etc/php5/fpm/pool.d/
内,默认你会找到名为www.conf
的池,你会复制该文件并创建一个新池,然后编辑该文件并将[www]
重命名为任何其他名称,即池名称,并更改监听sock文件或端口(您使用过的)。
然后我们需要为每个池添加open_basedir
,
php_admin_value[open_basedir] = /home/wwwroot/aaa.com/
另一个文件中有bbb.com
,然后在nginx配置中将每个虚拟主机传递到相应的池。
答案 1 :(得分:0)
您可以尝试以下代码
location /users {
alias /var/www/student/public;
try_files $uri/index.html $uri.html $uri index;
}
创建新位置并将新项目命名为public。它适用于Nginx和Ruby on rails on。