当前位置:   首页安装配置文件密码:Nginx学习之静态文件主机配置方法

文件密码:Nginx学习之静态文件主机配置方法

发布日期:2021-12-29 17:34 | 文章来源:源码中国

在Java开发以及生产环境中,最常用的web应用主机当属Tomcat,尽管这只猫也能够处理一些静态请求,例如图片、html、样式文件等,但是效率并不是那么尽人意。在生产环境中,我们一般使用Nginx代理主机来处理静态文件,来提升网站性能。

基本配置

server {
    listen 80;
    server_name file.52itstyle.com;
    charset utf-8;
 #root 指令用来指定文件在主机上的基路径
    root /data/statics;
 #location指令用来映射请求到本地文件系统
    location / {
      autoindex on; # 索引
      autoindex_exact_size on; # 显示文件大小
      autoindex_localtime on; # 显示文件时间
    }
  }

重启Nginx服务:

nginx -s reload

访问文件服务,http://file.52itstyle.com/

设置密码

htpasswd命令是Apache的Web主机内置工具,用于创建和更新储存用户名、域和用户基本认证的密码文件。

htpasswd(选项)(参数)

  1. -c:创建一个加密文件;
  2. -n:不更新加密文件,只将加密后的用户名密码显示在屏幕上;
  3. -m:默认采用MD5算法对密码进行加密;
  4. -d:采用CRYPT算法对密码进行加密;
  5. -p:不对密码进行进行加密,即明文密码;
  6. -s:采用SHA算法对密码进行加密;
  7. -b:在命令行中一并输入用户名和密码而不是根据提示输入密码;
  8. -D:删除指定的用户。

实例

htpasswd -bc passwd.db itstyle 123456

在目录下生成一个passwd.db文件,用户名itstyle,密码:123456,默认采用MD5加密方式。

在原有密码文件中增加下一个用户

htpasswd -b passwd.db admin 123456

Nginx配置

server {
    listen 80;
    server_name file.52itstyle.com;
    charset utf-8;
    root /data/share;
    location / {
      autoindex on; # 索引
      autoindex_exact_size on; # 显示文件大小
      autoindex_localtime on; # 显示文件时间
      auth_basic "请输入用户名密码";
      auth_basic_user_file /usr/local/openresty/nginx/passwd.db;
    }
  }

重启Nginx访问:

图片防盗链

如果主机的图片被别的网站盗链,将影响主机的带宽以及访问速度,这时我们就需要设置图片文件或视频文件的防盗链功能。

防盗链功能,简单来说就是你可以直接访问该资源,但是不能将我的资源链接放到你自己的主机上让别人访问,尤其是图片或视频这种比较大的文件,容易导致主机响应很慢。

server {
    listen 80;
    server_name file.52itstyle.com;
    charset utf-8;
 #root 指令用来指定文件在主机上的基路径
    root /data/statics;
 #location指令用来映射请求到本地文件系统
    location ~*^.+\.(gif|jpg|png|jpeg)$ {
       expires   30d;
       valid_referers none blocked file.52itstyle.com;
       if ($invalid_referer) {
         rewrite ^/ http://www.52itstyle.com/404.jpg;
       }
    }
  }

重启Nginx服务,测试一下图片链接:http://file.52itstyle.com/NFS_C.png

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持本站。

联系我们
关于使用场景和技术架构的更多咨询,请联系我们的销售和技术支持团队。
Yingsoo Host

在线
客服

在线客服:7*24小时在线

客服
热线

400-630-3752
7*24小时客服服务热线

关注
微信

关注官方微信
顶部