版权声明:
本文遵循“署名非商业性使用相同方式共享 2.5 中国大陆”协议 您可以自由复制、发行、展览、表演、放映、广播或通过信息网络传播本作品 您可以根据本作品演义自己的作品 您必须按照作者或者许可人指定的方式对作品进行署名。 您不得将本作品用于商业目的。 如果您改变、转换本作品或者以本作品为基础进行创作,您只能采用与本协议相同的许可协议发布基于本作品的演绎作品。 对任何再使用或者发行,您都必须向他人清楚地展示本作品使用的许可协议条款。 如果得到著作权人的许可,您可以不受任何这些条件的限制。
有时我们会有这么一种需求,就是你的网站并不想提供一个公共的访问或者某些页面不希望公开,我们希望的是某些特定的客户端可以访问。那么我们可以在访问时要求进行身份认证,就如给你自己的家门加一把锁,以拒绝那些不速之客。 实验环境: 现在公司开通了一个内部使用网站为www1.rsyslog.org,要求所有人查看网页信息之前都必须要输入内定的用户名及密码方可浏览网页
www1.rsyslog.org 192.168.100.107 DNS1 192.168.100.102 一、查看当前系统参数 - [iyunv@rhel6u3-2 ~]# uname –r //查看系统内核版本号
- 2.6.32-279.el6.i686
- [iyunv@rhel6u3-2 ~]# cat /etc/redhat-release //查看系统版本号
- Red Hat Enterprise Linux Server release 6.3 (Santiago)
二、编辑虚拟主机配置文件
[Shell] 纯文本查看 复制代码 [iyunv@rhel6u3-7 ~]# vim /usr/local/nginx/conf/nginx.conf //主配置文件中http字段中添加以下语句,将虚拟主机的配置文件指向www1.rsyslog.org
include /usr/local/nginx/server/www1.rsyslog.org;
[iyunv@rhel6u3-7 ~]# vim /usr/local/nginx/server/www1.rsyslog.org
server {
listen 80; //监听端口为80
server_name www1.rsyslog.org; //虚拟主机网址
location / {
root sites/www1; //虚拟主机网站根目录
index index.html index.htm; //虚拟主机首页
auth_basic "secret"; //虚拟主机认证命名
auth_basic_user_file /usr/local/nginx/passwd.db; //虚拟主机用户名密码认证数据库
}
location /status {
stub_status on; //开启网站监控状态
access_log /usr/local/nginx/logs/www1_status.log; //监控日志
auth_basic "NginxStatus"; }
}
三、通过htpasswd命令生成用户名及对应密码数据库文件。
[Shell] 纯文本查看 复制代码 [iyunv@rhel6u3-7 server]# htpasswd -c /usr/local/nginx/passwd.db xiaonuo //创建认证信息,xiaonuo 为认证用户名
New password: ******* //输入认证密码
Re-type new password: ******** //再次输入认证密码
Adding password for user xiaonuo
[iyunv@rhel6u3-7 server]#
[iyunv@rhel6u3-7 ~]# chmod 400 /usr/local/nginx/passwd.db //修改网站认证数据库权限
[iyunv@rhel6u3-7 ~]# chown nginx. /usr/local/nginx/passwd.db //修改网站认证数据库属主和属组
[iyunv@rhel6u3-7 ~]# cat /usr/local/nginx/passwd.db //可以看到通过htpasswd生成的密码为加密格式
xiaonuo:8eZAz7BqcrXmY
[iyunv@rhel6u3-7 ~]#
四、平滑重启nginx服务
- [iyunv@rhel6u3-7 ~]# /etc/rc.d/init.d/nginx reload //平滑重启nginx服务
- nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
- nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
- Reloading nginx: [ OK ]
五、DNS服务器上添加www1 A记录
六、通过IE访问www1.rsyslog.org进行测试。 别忘了将网卡首选DNS指向192.168.100.102
|