权限验证

  1. server {
  2. listen 80;
  3. server_name 129.204.237.5;
  4. location / {
  5. auth_basic "Restricted";
  6. auth_basic_user_file /usr/local/nginx/conf.d/.htpasswd;
  7. }
  8. }
  9. 设置访问密码
  10. 1.在/usr/local/nginx/下新建目录conf.d
  11. 2.[root@centos conf.d]# yum -y install httpd-tools
  12. 3.htpasswd -c .htpasswd admin 创建.htpasswd文件并新建admin账户,接下来输入两次密码即可
  13. 4.重启nginx
  14. '''
  15. -c 创建passwdfile.如果passwdfile 已经存在,那么它会重新写入并删去原有内容.
  16. -n 不更新passwordfile,直接显示密码
  17. -m 使用MD5加密(默认)
  18. -d 使用CRYPT加密(默认)
  19. -p 使用普通文本格式的密码
  20. -s 使用SHA加密
  21. -b 命令行中一并输入用户名和密码而不是根据提示输入密码,可以看见明文,不需要交互
  22. -D 删除指定的用户
  23. '''

客户端缓存

1.浏览器⽆缓存浏览器请求->⽆缓存->请求WEB服务器->请求响应->呈现
2.浏览器有缓存浏览器请求->有缓存->校验过期->是否有更新->呈现

  • 校验是否过期 Expires HTTP1.0, Cache-Control(max-age) HTTP1.1协议中Etag头信息校验 Etag ()
  • Last-Modifified头信息校验 Last-Modifified (具体时间)
    1. location ~ .*\.(js|css|html)$ {
    2. root /soft/code/js;
    3. expires 1h;
    4. }
    5. location ~ .*\.(jpg|gif|png)$ {
    6. root /soft/code/images;
    7. expires 7d;
    8. }
  1. //取消js css html等静态⽂件缓存
  2. location ~ .*\.(css|js|swf|json|mp4|htm|html)$ {
  3. add_header Cache-Control no-store;
  4. add_header Pragma no-cache;
  5. }

跨域访问

  1. location ~ .*\.(html|htm)$ {
  2. add_header "Access-Control-Allow-Origin" "http://www.xuliangwei.com"; #允许哪些站点进行跨域请求
  3. #add_header "Access-Control-Allow-Origin" "*" #允许所有
  4. add_header "Access-Control-Allow-Methods" "GET,POST,PUT,DELETE,OPTIONS"; #允许的请求方式
  5. add_header "Access-Control-Allow-Credentials" "true";
  6. add_header "Access-Control-Allow-Headers DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type";
  7. root /soft/code;
  8. }