请关注本头条号,每天坚持更新原创干货技术文章。如需免费学习视频,请留言1. 前言本文主要演示如何快速部署一个带用户名和密码认证的文件分享网页服务器。你是否计划想搭建一个带密码认证的文件分享服务器?不仅仅要控制人员的访问,还要规避中间人窃听与干扰,比如上网行为管理器的干扰与记录。这时我们不仅仅需要认证功能,而且需要加密功能。本教程使用nginx的认证模块和申请公网tls数字证书做认证。如何快速部署一个带用户名和密码认证的文件分享服务器最终成果:搭建一个http/https文件分享服务器,并带密码验证功能,即输入密码后才能查看和下载网页中的文件。部署前提条件:带公网IP的服务器熟悉基本的命令行操作具有相关域名的DNS控制权,可以做域名与IP地址的映射具有系统的root账号权限组件介绍:CentOS 7.x/8.x 操作系统,Ubuntu系统同样适用,但要注意分区工具名称和命令。nginx:Nginx是一款面向性能设计的HTTP服务器,也可以用作反向代理、负载平衡器和HTTP缓存。httpd-tools:提供http网页验证功能的组件。本文是基于以下教程的扩展,所以继续阅读之前请先阅读以下文章:如何搭建一个基于http/https的文件服务器?5分钟搭建公网https网页文件服务器,免费权威TLS证书 2. 设置网站访问密码搭建文件服务器有时候不想让别人任意访问,可以用到nginx自带的认证模块。使用以下这两个字段:auth_basic表示的输入密码时的提示语auth_basic_user_file则显示认证时的用户密码文件存放路径修改虚拟主机配置文件,留意以下auth_basic两行参数[root@zcwyou ~]# vi /etc/nginx/conf.d/file_server.conf
配置文件的大概内容:监听80端口指定域名指定文件目录路径开启认证功能server {
client_max_body_size 4G;
listen 80;
server_name files.linuxrumen.com;
root /usr/share/nginx/files;
location / {
auth_basic “Restricted”;
auth_basic_user_file /etc/nginx/pass_file;
autoindex on;
autoindex_exact_size on;
autoindex_localtime on;
}
}
修改虚拟主机配置文件设置网页认证用户名和密码:安装htpasswdyum -y install httpd-tools
如果提示没有htpasswd这个命令,安装这个httpd-tools包假设用户名为user1htpasswd -c -d /etc/nginx/pass_file user1
按提示设置http网页认证信息按提示设置http网页认证信息按指引设置密码测试nginx配置文件,看看有没有报错nginx -t
测试nginx配置文件重载配置nginx -s reload
如果使用reload不生效就要重启nginx服务systemctl restart nginx.service
3. 测试重启浏览器后输入文件服务器的域名,可以看到下图这种界面,输入用户名和密码即可浏览和下载里面的文件。按提示输入用户名和密码按提示输入用户名和密码正确输入用户名和密码后可以看到文件列表正确输入用户名和密码后可以看到文件列表4. 向服务器上传文件服务器上传文件一般有2种方法:1. 使用wget或curl下载文件到服务器上。2. 使用winscp软件上传文件到服务器上。使用winscp上传文件到服务器上Linux与Windows相互文件传输之winscp工具的使用教程:Linux与Windows相互文件传输最高效的工具是哪个? 5. 结论通过本文,您应该学会了如何部署带验证功能的文件分享服务器了,适用于私密分享文件的应用场景,防止未经授权下载文件。本教程以CentOS系统做演示,使用nginx和python2-certbot-nginx这2个组件。nginx提供http/https协议功能和认证模块,python2-certbot-nginx提供权威tls证书,当然,tls证书是可选项。条件满足的朋友赶紧试试,建立一个自己的文件分享网站吧。如果你有更的方法请留言。本文已同步至博客站,尊重原创,转载时请在正文中附带以下链接:https://www.linuxrumen.com/fwqdj/1847.html点击了解更多,快速查看更多的技术文章列表。
本文出自快速备案,转载时请注明出处及相应链接。