这可能是一个Nginx的皱纹,也可能是因为我不懂Unix的权限。 我们使用Hudson CI来部署我们的临时实例。 所以RAILS_ROOT是/var/lib/hudson/jobs/JOBNAME/workspace 。 哈德森作为哈德森用户运行 Nginx作为www-data用户运行 hudson和nginx都是www组的成员 根据我的nginx conf指向RAILS_ROOT/public按照正常。 RAILS_ROOT/config/environment.rb属于www-data (所以Passenger作为www-data运行) RAILS_ROOT及其中的所有内容由www组拥有,组具有r / w / x权限 就目前而言,Nginx在请求任何url时都403 permission denied了403 permission denied 。 error.log包含这样的条目: public/index.html" is forbidden (13: Permission denied) 。 这些并没有解决或改变错误(每一个停止/开始的Ngnix): chmod 777 -R RAILS_ROOT chgrp www -R /var/lib/hudson 我也以root身份尝试过Nginx,并且乘客抱怨找不到config/environment (尽pipe错误页面显示的path是正确的)。 解决的办法是确保everybody都有读取权限在每个目录在heirachy 。 在这种情况下, chmod o+r /var/lib/hudson 。 但是,如果该组对目录具有读取权限,并且nginx是该目录所有者组的成员,为什么需要允许所有人读取权限? 有什么没有关于权限grokked? $nginx -V nginx version: […]
我没有对服务器的物理访问权限,也没有访问日志的权限。 有些文件生成403错误,尽pipe我把一个.htaccess与: Order Deny,Allow Allow from all 我甚至试图把一个明确的FilesMatch在其中的一个文件上面的指令。 我知道这是很难回答的,因为我给出了大量的细节,但是我希望我能得到一些关于为什么会发生这种情况的想法,并且能够真正指出我的networking主机,他们的服务器configuration真的是问题所在。 编辑: 我想我可能会得到这些答案,事实是,我也感到沮丧,因为似乎这里的IT人不知道阿帕奇。 我也没有SSH访问,我只有FTP访问。 我不使用任何第三方pipe理软件包(cPanel,Plesk)。 这不是一个虚拟主机。 我很抱歉发布一个模糊的问题。 我实际上是一个PHP开发人员,只提供文件。 我感到沮丧的是,我得到的访问非常有限。 我没有给予数据库访问,我提供的SQL文件,他们安装它们。 我真的希望在顶层有一些configuration错误,因为同一个目录中的3个上传文件中有2个最终会成为403个文件。 我正在考虑更多的是: 'The one who set up the server was overly protective developing complex regex'es to disallow hotlinking in the http.conf in such a way that most files match those regex'es' 但是,谢谢你的时间。 我想我不得不锤击IT人员让我访问日志和一切。
我使用lighttpd,php-fpm设置了一个CentOS 6.3盒子,如果我将lighttpd主目录设置为默认(/ var / www / lighttpd),我可以启用启用SELinux的静态文件和PHP文件。 但是,如果我将主目录更改为其他任何内容,当我尝试访问服务器时(如果启用了SELinux),则会出现403个禁止的错误。 如果我禁用SELinux另一个主目录工作正常 – 但我宁愿不必禁用SELinux。 我读过,我应该运行“chcon -R -h -t httpd_sys_content_t / my_new_docroot”,这应该使SELinux快乐,但不幸的是,当我这样做,我得到以下错误: 更改/mnt/smbshare/files' chcon: failed to get security context of文件的/mnt/smbshare/files' chcon: failed to get security context of :操作不受支持 我怀疑这是因为我试图在使用fstab挂载的SMB共享上使用chcon。 所以我想知道如何解决这个问题(除了closuresSELinux之外) – 那里的任何专家对我有什么build议? 感谢Brad
我想知道如何configurationApache 2为403(禁止)和404(页面未find)响应指定相同的错误文档。 我假设有一个指令添加到httpd.conf,但不知道它是什么。 我所看到的大部分教程都基于.htaccess文件,但是我想在全局设置这个指令。
我正在使用苹果公司提供的PHP 5.3和Apache 2标准安装程序,在我刚刚升级到Mac OS X 10.6(Snow Leopard)的Mac Pro上进行Web开发。 如果我忽视了这样的事实,那就是升级进展得很好,这个事实摧毁了我完成工作的能力。 ;) 更新之后,我开发的CakePHP应用程序在访问时开始给我403个Forbidden错误。 根据日志文件中的错误,我确定Apache在Cake的.htaccess文件中的mod_rewrite规则上窒息了。 这里是整个文件: <IfModule mod_rewrite.c> RewriteEngine on RewriteRule ^$ app/webroot/ [L] RewriteRule (.*) app/webroot/$1 [L] </IfModule> 这不是规则本身是错的,而是Apache禁止使用mod_rewrite。 机器上的所有其他页面都能正常工作,如果我注释掉.htaccess文件,403错误就会消失(当然没有任何效果)。 在我的httpd.conf文件中,我试着改变这个: <Directory /> Options FollowSymLinks AllowOverride None Order deny,allow Deny from all </Directory> 对此: <Directory /> Options FollowSymLinks AllowOverride All Order deny,allow Allow from all </Directory> …没有效果 […]
我创build了一个asp.net网站,可以从同一个域上运行的客户端浏览器访问。 我在IIS 7.5上托pipe了该网站 我已禁用IIS部分下function视图的匿名身份validation和启用Windows身份validation。 我在网站的web.config中添加了以下内容: <authorization> <allow users="group\BizTalk Application Users" /> <deny users="?" /> </authorization> 在托pipe站点的服务器上运行时,我可以从浏览器打开网站。 但是,如果我然后login到相同的域中使用相同的凭据不同的服务器,当我尝试浏览到该网站时,我得到一个HTTP 403错误。 上面没有喜悦后,我试图禁用网站的所有安全。 我禁用了Windows身份validation并启用了匿名身份validation,但仍然收到相同的错误。 我检查了服务器上的IIS日志,可以看到403的子代码是18。 我已经在客户端上运行提琴手,看到下面的请求/响应: 请求 GET http://tst-bts01/Vasanta.Int.SEOPSupportApp/Orders.aspx HTTP/1.1 Accept: image/jpeg, image/gif, image/pjpeg, application/x-ms-application, application/xaml+xml, application/x-ms-xbap, application/vnd.ms-excel, application/vnd.ms- powerpoint, application/msword, */* Accept-Language: en-GB User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET […]
这个问题我一直没有得到一个权威的答案,但它对我感兴趣多年: 把Apache与重写规则匹配,说: 1组匹配触发403禁止情况。 403页面在网站上托pipe,所以基本上这些条件会触发网站上的另一个页面加载,并且基本上向探测者确认基本域或IP存在。 但是我一直想知道的是,如果有一种方式基本上发送匹配某些条件的请求,比如已知的垃圾邮件/入侵尝试模式,并且基本上将其发送到/ dev / null或apache等价物。 从来没有find这样的解决scheme,我经常只是使用一个虚假的域名,并redirect匹配的请求到这个虚假的域名,从我的服务器中删除负载,因为该域名不存在(我总是select抽象的名称实际上并不存在),301之后的请求获得404,但在我的理想情况下,请求只会失败并返回任何东西,或一些Apache的等价物。 这实际上是我需要弄清楚的,因为某些工具正在被用于检测一些关于我们网站的数据,而这些数据是不应该被检测到的,但是这里的原因并不重要,因为每个网站的变化情况,我的问题是,我猜,有几点: 如果不存在基本redirect到/ dev / null这样的事情,是否有办法dynamic地分配服务器上不存在的F禁止403页面,这样请求就不会退回到站点403页面,这可能会让一些事情暴露给人们探测。 这是最糟糕的select,因为该网站正在确认IP地址/域和端口存在。 理想情况下,有没有办法实际发送请求无处? 在一个完美的世界里,它会返回404,因为没有find我猜测这意味着特定的IP地址探测器会导致不存在。 也许这毕竟是某种意义上的答案? 但它不会是一个404,然后加载的网站404页面,这将是一个404像一个不存在的生成一个请求,或一个IP地址,不存在的端口组合探头。 当然,最好的情况是,当请求匹配模式时,它什么都不做,不响应,什么也不做,请求被吸收到黑洞中。 就好像你从一些实际根本不存在的东西中所要求的东西。 不是来自确实存在的域,而是不存在的页面,而是整个请求与任何域或页面或IP地址不匹配的地方。 在这个Apache mod重写的特定场景中find任何信息是非常困难的,至less我从来没有发现过这个问题,所以如果任何人都可以提供一个权威的答案,我已经构build了问题标题,可能导致search结束在本页。 同样,理想的结果是,在重写规则中满足匹配条件之后,探测器从未意识到它实际上在IP端口扫描上获得了活动站点,这意味着,不是403,而是301,而不是200响应,而不是来自网站的HTMLtypes的响应。 请注意,在这种情况下,我无法访问主数据中心防火墙或服务器防火墙,因此它必须是我可以使用Apache 2本身获得的最佳结果。
我试图在客户的服务器上设置一个由我们的软件使用的Web服务。 Web服务需要.NET 1.1 aspx等,就像前一段时间写的一样,不会被重写。 .NET 1.1已经安装,Web服务的应用程序池被设置为.NET 1.1应用程序池。 我们的软件使用http post来调用web服务(default.aspx页面)。 当这样做,一个403禁止返回。 我在应用程序正在访问的服务器文件夹中创build了一个临时(html)网页。 我可以成功浏览到HTML文件没有问题。 我已经看过网上的各种“解决scheme”无济于事,例如给予NETWORK_SERVICE和机器账户等的权限…我相信这将是一件令人难以置信的简单的事情,但我的头目前从打它在桌子上! 任何人看到类似的东西,并解决它? 任何人有任何build议的事情要尝试? 谢谢。
我有一个奇怪的问题,我最近在IIS6上启动了一个网站,它运行良好,可以从我testing过的每台计算机上访问。 但是在一个networking上,我的客户的一个networking只能部分访问。 当试图访问他们的任何一台计算机上的网站,他们收到403.4错误 : HTTP 403.4 – Forbidden: SSL is required to view this resource 只有在input不含“www”的地址时才会收到此错误 。 当进入“www.domain.com”它正在加载罚款。 从我读到的,它可以通过更改设置“ 需要安全通道(SSL) ”来解决,但不会被检查,而不是作为网站configuration,而不是在文件configuration中。 网站configuration或networking上会出现什么问题? 谢谢!
我想限制访问某些文件夹(包括,例如xml和日志),所以我给了他们700个权限,其中的所有文件有600个权限。 首先,这是限制访问的正确方法吗? 我有一个.htaccess文件在我的根,处理重写和错误文档。 根目录中有两个页面 – 403.php和404.php – 403和404错误。 我有这些规则添加到我的.htaccess文件: ErrorDocument 404 /404.php ErrorDocument 403 /403.php 现在,404页面工作得很好。 当我尝试访问'includes'文件夹时,403页面不显示 – 我得到标准的apache 403错误页面,而是说'另外,尝试使用ErrorDocument处理请求时遇到404 Not Found错误。 但是,当我尝试去我的浏览器中的.htaccess文件(在Web根目录中),我得到我的自定义403错误页面。 为什么发生这种情况?