nginx代理配置403

pwd命令是查看当前目录的文件路径

进入到nginx安装目录下的conf/servers文件夹下

打开nginx配置文件,根据后面的域名
vi /data/nginx/conf/servers/grab.polyv.net


更改nginx配置文件后要,重启ngnix
 /data/nginx/sbin/nginx -s reload


nginx错误日志文件:
tail -f /data/nginx/logs/error.log 
打开nginx日志文件:
 vi /data/nginx/logs/error.log
echo aaaa > "aa.txt"
ln -s /data01/grabtmp /data/grabvideo2

------------------------------------------------------------------------------------------

给nginx添加了一个location:一般目录不要在home文件夹下(以免出现权限问题)

[plain]  view plain copy print ?
  1. location /tmp/ {  
  2.     alias /home/trb/DO/tmp/;  
  3.     allow all;  
  4. }  
sudo nginx -s reload之后却出现了403错误,后来法系是目录的权限问题,修改之后解决。

需要注意的是location中的deny也会影响到403,一般安全要求不高的实验阶段建议设成allow all;

你需要保证整个路径上的r权限。比如我上面的设置中,一开所trb没有对nginx有可读权限就导致403了,因此建议,路径上的每个文件夹都查看一下r权限。


完整的配置文件:

upstream grab.new.polyv.net {
    server 127.0.0.1:8080;
}

server {
    listen 80;
    server_name grab.new.polyv.net;
    index index.html index.htm;
    charset utf-8;

    # ignore favicon.ico not exist.
    location = /favicon.ico {
        log_not_found off;
        access_log off;
    }

    # not allow to visit hidden files.
    location ~ /\. {
        deny all;
        access_log off;
        log_not_found off;
    }
    location /video/ {
       alias /home/grabVideo/;
       expires    365d;
    }
    location /video2/ {
       alias /data/grabvideo2/;
       expires    365d;
    }
    location /video3/ {
       alias /home/qixuan/video3/;
       expires    365d;
    }

    location / {
        if ($request_filename ~* ^.*?\.(txt|doc|pdf|rar|gz|zip|docx|exe|xlsx|ppt|pptx)$) {
            add_header Content-Disposition: 'attachment;';
            add_header Content-Type: 'APPLICATION/OCTET-STREAM';
        }

        proxy_pass http://grab.new.polyv.net;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header REQUEST_HOST $host;

        charset UTF-8;
    }

}


你可能感兴趣的:(nginx)