使用虚拟主机configuration通过httpd php应用程序pipe理IP访问控制

问题

该系统允许普遍访问PHP应用程序“owncloud”。 也就是说,访问授予整个networking的服务器。 作为一个testing“要求所有被拒绝”没有控制访问。

此configuration中缺less限制访问服务器主机的内容?

其他想法

是否需要对hpptd.conf进行configuration更改? 这是一个owncloud.conf问题或一个httpd.conf的问题? php.conf是否涉及这些症状?

眼镜

Fedora 21

  • 的httpd
  • mod_ssl级别2.4.16
  • 作为达到这一点的过程的一部分,htaccess文件已被重命名。
  • /etc/httpd/conf/httpd.conf文件是标准的。

/etc/httpd/conf.d/owncloud.conf文件:

<VirtualHost *:443> ServerName owncloud ServerAlias owncloud DocumentRoot /var/www/html/owncloud SSLEngine on SSLCertificateFile /etc/httpd/ssl/owncloud.pem SSLCertificateKeyFile /etc/httpd/ssl/owncloud.key <Directory /var/www/http/owncloud> Options +Indexes +FollowSymLinks AllowOverride All Require local <IfModule mod_php5.c> php_value upload_max_filesize 512M php_value post_max_size 512M php_value memory_limit 512M php_value mbstring.func_overload 0 </IfModule> <IfModule pagespeed_module> </IfModule> RewriteEngine on RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization},last] RewriteRule ^\.well-known/carddav /remote.php/carddav/ [R] RewriteRule ^\.well-known/caldav /remote.php/caldav/ [R] </Directory> </VirtualHost> 

如果你的服务器允许stream量,尽pipe有Require local ,特别是Require all denied ,那么这是一个Apache / HTTPD的问题。 它可以是覆盖(例如.htaccess),也可以是其他正在加载的configuration文件。 Apache将根据列出的最具体的目录来应用访问列表。 例如:/ var / www / http / owncloud设置为Require local ,如果你有/ var / www / http / owncloud / theRealServerRoot设置为Require all granted ,那么每个人都可以被允许进入'theRealServerRoot'拒绝父目录。 你可能已经知道这一点,但以防万一。 另外,如果两个configuration文件使用<directory>语句引用相同的目录,则最后加载的任何configuration文件都将应用。 加载通常按字母顺序完成。 如果你有一个'security.conf'文件来为/ var / www / http / owncloud定义另外的Require语句,那么将会使用这些文件来代替owncloud.conf中的任何内容。

1)你可以仔细检查一下自己的云没有重新创build.htaccess文件,只要你重命名?

2)你在conf.d目录下还有什么文件? 你能检查一下,看他们是否在目录上的行为?

3)另外,你发布的文件是https; 您正在根据https://urltesting​​访问权限,对吗? 因为http:// URL可能有一组不同的规则。

4)最后,但最不可能的是,您使用的是反向代理还是负载均衡器? 这两者都会改变apache / httpd将会看到的IP地址,如果它运行在同一台服务器上,会产生相同的问题(尽pipe在Require all denied线中写入时它仍然会被阻塞)。