1. 创建类htpasswd文件(如果没有htpasswd命令,可通过 yum install -y *htpasswd*yum install -y httpd
    2. htpasswd -c /usr/local/nginx/conf/auth_password wangshibo //会被要求输入两次密码
    3. cat /usr/local/nginx/conf/auth_password
    4. Nginx配置中添加auth认证配置
    1. location ^~ /soft/ {
    2. root /var/www/html; #此处为soft的上一级目录。注意root和alias虚拟目录设置区别
    3. autoindex on;
    4. autoindex_exact_size off;
    5. autoindex_localtime on;
    6. auth_basic "MyPath Authorized"; #为提示信息,可以自行修改;会出现在第一次访问Nginx站点的弹出框内
    7. auth_basic_user_file /usr/local/nginx/conf/auth_password; #最好跟htpasswd文件的全路径
    8. }
    1. 重启nginx服务 /usr/local/nginx/sbin/nginx -s reload

      需要特别注意的是:

    加上认证之后该目录下的php文件将不会被解析,会运行下载。如果要使其能够解析php可以,可将上面的配置改为:

    1. location ^~ /soft/ {
    2. location ~ \.php$ { #或者是location ~ .*\.(php|php5)?$ {
    3. root /var/www/html;
    4. fastcgi_pass 127.0.0.1:9000;
    5. fastcgi_read_timeout 300;
    6. fastcgi_index index.php;
    7. fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;;
    8. include fastcgi.conf;
    9. }
    10. auth_basic "Authorized users only";
    11. auth_basic_user_file /usr/local/nginx/conf/auth_password;
    12. }

    nginx运行目录浏览后,就可以利用wget进行文件远程传输了(只针对文件,因为在http下只能文件访问,直接跟url访问目录是404)。


    文章转载自:https://www.cnblogs.com/kevingrace/p/6244812.html