nginx目录权限设置
刚在知乎上看到说,如果用VPS下载电影涉及版权问题,被人举报的话,是属于触犯国外法律的。不光VPS被封,个人也会遭殃。
如果这些电影只有你自己能看也就算了,可是如果是任何人都能访问观看,那么问题就严重了。一想到我的nginx目录是公开的,吓得我赶紧去找关于nginx目录权限设置的方法。
我参考的是这篇文章,我要实现的是以用户密码身份访问目录。
首先,检查一下你的VPS是否自带htpasswd
命令。如果没有的话,可以下载了htpasswd.py
文件
wget http://trac.edgewall.org/export/10770/trunk/contrib/htpasswd.py
然后执行命令
1 | chmod 777 htpasswd.py |
-c
为生成密码文件,-b
为批处理模式,htpasswd
是生成的文件名,username
是用户名,password
是密码。注意,这里的密码不管你输入多少位,最终只会截取前8位,即只有前8位密码是有效的。
接下来修改htpasswd
文件的权限,并把它放入/etc/nginx
目录下,执行命令
1 | chmod 444 htpasswd |
刚才的设置权限很关键,如果你的htpasswd
文件创建用户不是nginx
的话,那么它的权限最少也应该是444
,即所有人都可读。否则就算你输入对了密码,服务器依然会提示500错误。
最后修改一下nginx配置文件,比方说我的配置
1 | location /download { |
说明一下,这里我的/download
目录是公开的,但是它的子目录/private
是必须验证用户名和密码之后才能浏览的。前面说过,这个密码最多只支持8位。
最后重启一下nginx服务
1 | service nginx restart |
好了有了这层保护之后,终于不用担心被人举报了。