我遇到了一个403禁止错误在我的笔记本电脑与Debian 7
文件权限为775:chmod 775 -R /var/www
nginx错误日志显示:
2013/07/05 16:27:06 [error] 7351#0:12目录索引“/var/www/install/”被禁止,客户端:127.0.0.1,服务器:localhost,请求:“GET /install/ HTTP/1.1”,主机:“localhost”
phpinfo工作正常
我的配置:
/etc/nginx/nginx.conf*
用户www-data;
worker_processes 1;
pid /var/run/nginx.pid;
事件{ worker_connections 768; # multi_accept on; }
HTTP {
##
# Basic Settings
##
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
# server_tokens off;
# server_names_hash_bucket_size 64;
# server_name_in_redirect off;
include /etc/nginx/mime.types;
default_type application/octet-stream;
##
# Logging Settings
##
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*; }
字符串
/etc/nginx/sites-enabled/default**
server { listen 80; ## listen for ipv4;这一行是默认的,并暗示#listen [::]:80 default_server ipv6 only =on; ## listen for ipv6
#root /usr/share/nginx/www;
root /var/www;
index index.html index.php;
# Make site accessible from http://localhost/
server_name localhost;
server_name_in_redirect off;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
# try_files $uri $uri/ /index.html;
try_files $uri $uri/ /index.php?$args;
# Uncomment to enable naxsi on this location
# include /etc/nginx/naxsi.rules
}
location /doc/ {
alias /usr/share/doc/;
autoindex on;
allow 127.0.0.1;
allow ::1;
deny all;
}
# Rewrite for Fork CMS
型
位置~ ^/(后端|安装|API(/\d.\d)?(/client)?).*.php$ {
backend/install/API是现有的目录,但都应该通过前面的try_files $uri $uri/ /index.php?$args; }
位置~ ^(.+.php)(.*)$ { include fastcgi_params; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; }
# gzip
型
gzip on;
gzip_disable“MSIE [1-6]。(?!.* SV 1)"; #对不支持gzip压缩的浏览器禁用gzip压缩(在本例中,MS Internet Explorer版本6 SV 1之前). gzip_http_version 1.1; gzip_vary on; #这将设置响应头Vary:Accept-Encoding。某些代理有一个错误,因为它们将压缩内容提供给不支持它的浏览器。通过设置Vary:Accept-Encoding头,您指示代理存储内容的压缩和未压缩版本。gzip_comp_level 6; gzip_proxied any; gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml+rss text/javascript application/javascript text/x-js ; gzip_buffers 16 8 k;
# client caching location ~ \.(css|js|html|htm|rtf|rtx|svg|svgz|txt|xsd|xsl|xml|asf|asx|wax|wmv|wmx|avi|bmp|class|divx|doc|docx|exe|gif|gz|gzip|ico|jpg|jpeg|jpe|mdb|mid|midi|mov|qt|mp3|m4a|mp4|m4v|mpeg|mpg|mpe|mpp|odb|odc|odf|odg|odp|ods|odt|ogg|pdf|png|pot|pps|ppt|pptx|ra|ram|swf|tar|tif|tiff|wav|wma|woff|wri|xla|xls|xlsx|xlt|xlw|zip)$
{ expires 31d; add_header Pragma "public"; add_header Cache-Control
"public, must-revalidate, proxy-revalidate"; }
# End of Fork
型
2条答案
按热度按时间cwdobuhd1#
你的问题是
http://localhost/install
通过了try_files
的第二条规则,也就是$uri/
,所以它试图将install
作为一个文件夹访问,但是你没有打开autoindex
,所以它失败了,并出现了一个禁止错误。字符串
我建议删除
$uri/
部分。型
8aqjt8rx2#
我在VPS上设置WordPress在nginx上运行,并不断获得403禁止错误。如果设置正确,一切看起来都很好,但仍然不断获得403。
出于某种原因,每个人都建议使用这条线:
字符串
当我按照MAShady上面的建议删除
$uri/
时,它在我的服务器块中看起来像这样:型
.令人惊讶的是,配置工作!
真是厉害!
多谢了!