Nginx配置密码访问:以图床TelePic程序为例
TelePic是一款基于telegra.ph的图床程序,但是缺少密码和用户管理,导致任意使用者都能上传图片,使得缺少安全性。使用Nginx自带的密码访问功能,可以限制特定用户上传图片,但不会限制任意用户查看图片和阻止外链。以下以Debian系统为例,root用户权限。
安全并避免被滥用和盗窃域名链接的TelePic,查看https://pa.ci/240.html
安装htpasswd软件
apt update
apt install apache2-utils
生成访问密码
htpasswd -c /etc/nginx/password username # 此处的username可任意设置
首次生成需要添加-c
,此后如果想添加更多的用户,则直接:
htpasswd /etc/nginx/password another_username
编辑网站的Nginx配置文件
个人习惯将网站的Nginx配置文件放到/etc/nginx/sites-available
中,并将其软链接到/etc/nginx/sites-enabled
中,此处以默认配置文件/etc/nginx/sites-available/default
为例。
找到location /
位置,添加auth_basic "Restricted Content";
和auth_basic_user_file /etc/nginx/.htpasswd;
两行配置,实际如下:
location / {
auth_basic "Restricted Content";
auth_basic_user_file /etc/nginx/password;
try_files $uri $uri/ =404;
}
完成后,使用nginx -t
检查文件是否正确,若没有报错,执行systemctl reload nginx
重载Nginx即可。之后打开首页,需要输入用户名和密码才能访问。