目录遍历
Nginx服务器默认是不允许用户以浏览目录的方式去访问资源的。如果想让nginx这种WEB服务器能实现类似FTP服务器下载功能,Nginx是提供相应的配置去实现的,在nginx配置文件的http模块或相应的server及location模块下添加以下配置语句就可以实现。
配置命令如下:
#目录浏览功能(默认off) autoindex on; #默认on:显示文件的确切大小,单位bytes; #改为off:显示文件大概大小,根据文件大小显示合适单位大小(KB,MB或者GB)。 autoindex_exact_size off; #默认off:显示文件时间为GMT时间 #给为off:显示文件时间为文件的服务器时间 autoindex_localtime on; #文件名为中文时转码 charset utf-8;
登录认证
Nginx服务器自身的插件模块中的ngx_http_auth_basic_module模块提供服务器登录认证功能,默认情况下nginx进程中包含该模块。如果想让客户端登录服务器时认证。在nginx配置文件的http模块或者其中的server模块添加以下配置语句就可以实现。
配置命令如下:
#浏览器弹框的提示信息 auth_basic "Please complete user authentication"; #设置认证时的用户名,密码文件 auth_basic_user_file /usr/local/nginx/conf/htpasswd.user;
我们可以用apache密码生成工具htpasswd生成密码文件。
#创建一个加密文件并添加一个用户名为username密码为password的用户 htpasswd -bc /usr/local/nginx/conf/htpasswd.user username password #向密码文件中添加用户名为lijd密码为lijd的用户 htpasswd -b /usr/local/nginx/conf/htpasswd.user lijd lijd
如下图:
设置后完成后重启nginx并登录页面如下:
输入正确的用户名及密码认证成功后正常访问服务器,如下图:
认证失败后返回认证错误码(401 Authorization Required)如下图: