我花了几个小时在这个问题上,尽管相关帖子很多,但我无法解决它。我有一个Fedora 20盒与Nginx PHP-FPM,直到今天工作得很好(在我重新加载php-fpm.service我猜)。Nginx提供的静态文件没有问题,但是任何PHP文件都会触发错误403。
权限正常,nginx和php fpm在用户“nginx”下运行:
root 13763 0.0 0.6 490428 24924 ? Ss 15:47 0:00 php-fpm: master process (/etc/php-fpm.conf)
nginx 13764 0.0 0.1 490428 7296 ? S 15:47 0:00 php-fpm: pool www
nginx 13765 0.0 0.1 490428 7296 ? S 15:47 0:00 php-fpm: pool www
nginx 13766 0.0 0.1 490428 7296 ? S 15:47 0:00 php-fpm: pool www
nginx 13767 0.0 0.1 490428 7296 ? S 15:47 0:00 php-fpm: pool www
nginx 13768 0.0 0.1 490428 6848 ? S 15:47 0:00 php-fpm: pool www
服务的文件也被设置为nginx用户,我甚至结束了chmoding 777这些文件的尝试,但仍然"访问拒绝"任何PHP文件。
下面是我Nginx配置的服务器:
server {
listen 80;
server_name localhost;
root /var/www/html;
location ~ \.php$ {
fastcgi_intercept_errors on;
try_files $uri =404;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
PHP-FPM池:
[www]
...
listen = 127.0.0.1:9000
user = nginx
group = nginx
...
对于版本:
php-5.5。11(当然还有php-fpm-5.5.11)
nginx-1.4。7.
我正在添加Nginx错误日志:
FastCGI sent in stderr: "Access to the script '/var/www/html' has been denied (see security.limit_extensions)" while reading response header from upstream, client: xxx.xxx.xxx.xxx, server: localhost, request: "GET /index.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "xxx.xxx.xxx.xxx"
准确地说,安全性。限制扩展名
正确,设置为:安全。极限扩展=。php
。
关于路径权限,可以遍历/var/www/html。我错过了什么?
请注意,上述解决方案(将cgi.fix_pathinfo
设置为1
)是一个糟糕的想法。看见https://nealpoole.com/blog/2011/04/setting-up-php-fastcgi-and-nginx-dont-trust-the-tutorials-check-your-configuration/为了获得一个良好的概述。
这个问题可能是由于您的应用程序依赖PATH_INFO。为php启用访问日志以获取有关如何调用应用程序的详细信息,以帮助您调试此问题。
再一次,可以肯定的是,公认的解决方案是一个糟糕的想法,很可能会让你的网站遭到黑客攻击。
以下是一些可能的解决方案:
>
在nginx配置文件中,将fastcgi\u传递到套接字地址(例如
unix:/var/run/php fpm/php fpm.sock;
),而不是服务器地址和端口。
检查
SCRIPT\u文件名
fastcgi参数,并根据文件位置进行设置。
在nginx配置文件中包含
fastcgi_split_path_info^(。\. php)(/. )$;
的位置块中,其中定义了所有其他Fastcgi参数。
在php中。ini set
cgi。将路径信息修复为
1
我正在制作一个RESTFul API(不是web应用程序)并添加Spring Security性,但无法成功完成。 在阅读了大量有关stackoverflow的文章和帖子后,我终于发布了我的问题。请检查一下,让我知道我遗漏了什么或配置错误了什么? 基本实体 角色实体 用户实体 SecurtiyConfig类 CurrentUserDetails UserDetailsService 用户控制器类
我正在制作一个RESTFul API(不是web-app)并添加Spring Security性,但无法成功地做到这一点。 在浏览了stackoverflow上的大量文章和帖子之后,我终于发表了我的问题。请仔细检查一下,让我知道我错过了什么或者配置错误了什么? 基本实体 UserDetailsService UserController类 AdminContrller类 尝试使用ROLE_USER
问题内容: 我在FoxPro 6.0命令窗口中使用SQL命令,并遇到“文件访问被拒绝”。 我的SQL命令是: 情况: Windows 7专业版 FoxPro 6.0 main.dbf被共享给许多用户。 main.dbf不是 隐藏的 ,也不是 只写 任何意见将不胜感激! 问题答案: 此DBF文件位于共享驱动器上吗?如果是这样,则另一个用户可能使文件打开了“排他”,或者您正试图打开文件“排他”。默认状
我正在尝试进行查询-https://GRAPH.microsoft.com/v1.0/users/user.name@contoso.com/messages?$select=from,to recipients,ccRecipients,bccRecipients on GRAPH Explorer-https://developer.microsoft.com/en-us/GRAPH/grap
登录成功,但即使我允许访问USER,Spring安全也会阻止url。我如何管理这个东西? 登录控制器。JAVA 1.登录成功后,页面重定向到欢迎页面,但url仍然是localhost:8080/Login,而不是localhost:8080/welcome。 2.重定向到URL localhost:8080/sales后,403访问被拒绝。
我已经尝试了几乎所有关于它的其他帖子,没有任何一个与我的问题相关。