Linux运维技术之Apache/Nginx的web加密
配置文件添加
/etc/httpd/httpd.conf
Alias /fileshare "/var/ftp/ftpuser1"
<Directory "/var/ftp/ftpuser1">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
#<VirtualHost *:80>
# ServerName git.cnblogs.com
# SetEnv GIT_HTTP_EXPORT_ALL
# SetEnv GIT_PROJECT_ROOT /home/git
# ScriptAlias /git/ /usr/libexec/git-core/git-http-backend/
# <Location />
# AuthType Basic
# AuthName "Git"
# AuthUserFile /etc/httpd/conf.d/git-team.htpasswd
# Require valid-user
# </Location>
#</VirtualHost>
实现效果
实现过程
1.修改http.conf文件
设置指定目录的配置,例如设定test目录的配置,增加验证。
<Directory "/www/test">
Options Indexes
AllowOverride AuthConfig
Order allow,deny
Allow from all
</Directory>
2.在指定目录下增加.htaccess文件
文件内容如下:
AuthName "sys"
AuthType Basic
AuthUserFile /www/test/.htpasswd
require user admin
第一行,验证提示信息。
第二行,验证类别。
第三行,密码文件所在路径,绝对路径。
第四行,指定登录用户名。指定admin用户登录。
3.增加.htpasswd文件
/usr/local/apache2/bin/htpasswd -c /www/test/.htpasswd admin
输入上面命令,htpasswd目录写自己的目录,最后一个参数即为登录账号名,会提示输入两次密码。
重启apache。
访问设定的地址,看下是否已经有apache的登录验证。
htpasswd(选项)(参数) 选项
-c:创建一个加密文件;
-n:不更新加密文件,只将加密后的用户名密码显示在屏幕上;
-m:默认采用MD5算法对密码进行加密;
-d:采用CRYPT算法对密码进行加密;
-p:不对密码进行进行加密,即明文密码;
-s:采用SHA算法对密码进行加密;
-b:在命令行中一并输入用户名和密码而不是根据提示输入密码;
-D:删除指定的用户。 参数 用户:要创建或者更新密码的用户名; 密码:用户的新密码。
1、利用htpasswd命令添加用户
htpasswd -bc .passwd www.linuxde.net php
在bin目录下生成一个.passwd文件,用户名www.linuxde.net,密码:php,默认采用MD5加密方式。
2、在原有密码文件中增加下一个用户
htpasswd -b .passwd Jack 123456
去掉-c选项,即可在第一个用户之后添加第二个用户,依此类推。
3、利用htpasswd命令修改密码
htpasswd -D .passwd Jack
htpasswd -b .passwd Jack 123456
Nginx的web加密
加密网页
1、安装httpd-tools工具
Yum -y install httpd-tools
2、修改配置文件/etc/nginx/nginx.conf
# # 在"server" 章节location加入
location / {
auth_basic "Basic Auth";
auth_basic_user_file "/etc/nginx/.htpasswd";
}
3、创建用户
htpasswd -c /etc/nginx/.htpasswd wyl
4、重启服务
Nginx restart
测试