403禁止使用nginx的wordpress索引,其余页面工作正常
Posted
技术标签:
【中文标题】403禁止使用nginx的wordpress索引,其余页面工作正常【英文标题】:403 forbidden on wordpress index with nginx, the rest of the pages work fine 【发布时间】:2013-08-09 07:33:24 【问题描述】:我正在一个新的 EC2 实例上设置我的博客,因为当前托管它的服务器上的一个站点正在被 DDoSed。 我在使用 nginx 时遇到了一些问题,因为我可以看到所有页面都很好,但索引上的 403,或者看到索引但页面上的 404(取决于我使用的配置)
这是我的 nginx 配置:
server
listen 80;
server_name www.test.com;
server_name test.com;
root /www/blog;
include conf.d/wordpress/simple.conf;
还有 simple.conf:
location = /favicon.ico
log_not_found off;
access_log off;
location = /robots.txt
allow all;
log_not_found off;
access_log off;
location /
# This is cool because no php is touched for static content.
# include the "?$args" part so non-default permalinks doesn't break when using query string
try_files $uri $uri/ /index.php?$args;
location ~ \.php$
#NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
include fastcgi.conf;
fastcgi_intercept_errors on;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$
expires max;
log_not_found off;
如果我更改 try_files $uri $uri/ /index.php?$args;索引 index.php,首页会正常工作,其余的将是 404。如果我这样离开,首页是 403。
这是错误日志:
2013/08/07 19:19:41 [error] 25333#0: *1 directory index of "/www/blog/" is forbidden, client: 64.129.X.X, server: test.com, request: "GET / HTTP/1.1", host: "www.test.com"
那个目录在 nginx 用户上是 755:
drwxr-xr-x 6 nginx nginx 4096 Aug 7 18:42 blog
有什么明显的我做错了吗?
谢谢!
【问题讨论】:
【参考方案1】:在服务器块中添加index index.php;
,如果它不起作用,那么你需要删除$uri/
,因为你不想做autoindex on
编辑:刚刚注意到你已经发现了你的问题,所以我将添加它背后的原因,你需要
autoindex on;
的原因是因为没有它,nginx 将遵循try_files
规则,
-
检查是否有一个名为
/
的文件,当然失败了。
检查是否有一个名为/
的目录(通过添加root它会=/www/blog/
),这个检查会成功,所以它会尝试列出文件夹的内容。
由于你没有指定autoindex on;
,所以默认情况下nginx应该禁止列出目录,因此它会返回一个403禁止错误。
该站点的其余部分工作正常,因为它未通过$uri/
测试或无法访问它,因为您可能没有名为image.jpg
或stylesheet.css
等的文件夹。
【讨论】:
【参考方案2】:看起来我需要在服务器 定义中而不是在位置 中的 inded index.php
【讨论】:
大声笑,我回答后才意识到你已经回答了,没注意到,我想我会编辑我的答案来解释原因。【参考方案3】:您似乎不允许将参数发送到 CMS,因此这不会显示此 uri,该 uri 会从数据库中获取信息并将您重定向到 403 页面。
【讨论】:
不确定你的意思,我通过 ?$args 发送参数?以上是关于403禁止使用nginx的wordpress索引,其余页面工作正常的主要内容,如果未能解决你的问题,请参考以下文章