如何使用nginx conf进行目录访问控制

时间:2013-09-19 01:43:47

标签: nginx

我正在使用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配置来配置域只允许访问其目录。?

2 个答案:

答案 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。