问题描述
在Debian Wheezy本地安装了nginx + php5-fpm却遭遇 403 forbidden,遇此问题,甚是不明,还请列位支点招。
输入localhost/phpinfo.php显示正常
可输入localhost就跳出403错误
nginx错误日志显示
2013/07/05 16:27:06 [error] 7351#0: *12 directory index of'/var/www/install/' is forbidden, client: 127.0.0.1, server:localhost, request: 'GET /install/ HTTP/1.1', host: 'localhost'
权限方面 /var/www -R 775
nginx配置方面:
#cat /etc/nginx/nginx.conf user www-data; worker_processes 1; pid /var/run/nginx.pid; events {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;### Virtual Host Configs##include /etc/nginx/conf.d/*.conf;include /etc/nginx/sites-enabled/*; }#cat /etc/nginx/sites-enabled/default server {listen 80; ## listen for ipv4; this line is default and implied#listen [::]:80 default_server ipv6only=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 location ~ ^/(backend|install|api(/d.d)?(/client)?).*.php$ { # backend/install/api are existing dirs, but should all pass via the front try_files $uri $uri/ /index.php?$args; } location ~ ^(.+.php)(.*)$ { include fastcgi_params; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; } # gzip gzip on; gzip_disable 'MSIE [1-6].(?!.*SV1)'; # disables gzip compression for browsers that don’t support it (in this case MS Internet Explorer before version 6 SV1). gzip_http_version 1.1; gzip_vary on; # This sets the response header Vary: Accept-Encoding. Some proxies have a bug in that they serve compressed content to browsers that don’t support it. By setting the Vary: Accept-Encoding header, you instruct proxies to store both a compressed and uncompressed version of the content. gzip_comp_level 6; gzip_proxied any; gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript text/x-js ; gzip_buffers 16 8k; # client caching location ~ .(css|js|html|htm|rtf|rtx|svg|svgz|txt|xsd|xsl|xml|asf|asx|wax|wmv|wmx|avi|bmp|class|px|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
问题解答
回答1:解决了,答案意思和@依云的一样,不同的是方法,就是去掉
try_files $uri $uri/ /index.php?$args;
里的
$uri/
原文请参照这里
回答2:autoindex on;回答3:
那的document_root里没有index.html和index.php
回答4:需要开启:autoindex: on;