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即可。之后打开首页,需要输入用户名和密码才能访问。

标签: linux, nginx, 图床

添加新评论