1)实现两个基于域名的虚拟主机,域名分别为www.tarena.com和bbs.tarena.com 2)域名为bbs.tarena.com的Web服务仅允许192.168.4.205访问 3)对域名为bbs.tarena.com的站点进行用户认证,用户名称为tom,密码为123456 4)对域名为www.tarena.com的站点进行SSL加密
修改Nginx配置文件,添加server容器实现虚拟主机功能;对于需要进行访问控制的虚拟主机添加allow和deny语句;对于需要进行用户认证的虚拟主机添加auth认证语句;对于需要进行SSL加密处理的站点添加ssl相关指令。
步骤一:修改配置文件 1)修改Nginx服务配置,添加相关虚拟主机配置如下
[root@svr5 ~]# vim /usr/local/nginx/conf/nginx.conf .. .. server { listen 192.168.4.5:80; //端口 server_name bbs.tarena.com; //域名 allow 192.168.4.205; //访问控制,仅192.168.4.205可以访问 deny all; //拒绝所有 auth_basic "Input Password:"; //认证提示符 auth_basic_user_file pass.txt; //认证密码文件 location / { root bbs; //指定网站根路径 index index.html index.htm; } } server { listen 192.168.4.5:443; server_name www.tarena.com; ssl on; //开启SSL ssl_certificate cert.pem; //指定证书文件 ssl_certificate_key cert.key; //指定私钥文件 ssl_session_timeout 5m; ssl_protocols SSLv2 SSLv3 TLSv1; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; location / { root www; //指定网站根路径 index index.html index.htm; } }2)生成私钥与证书
[root@svr5 ~]# openssl genrsa -out cert.key 2048 //生成私钥 [root@svr5 ~]# openssl req -new -x509 -key cert.key -out cert.pem //生成证书 [root@svr5 ~]# cp {cert.key,cert.pem} /usr/local/nginx/conf3)创建网站根目录及对应首页文件
[root@svr5 ~]# mkdir /usr/local/nginx/{www,bbs} [root@svr5 ~]# echo “www” > /usr/local/nginx/www/index.html [root@svr5 ~]# echo “bbs” > /usr/local/nginx/bbs/index.html4)重启nginx服务
[root@svr5 ~]# /usr/local/nginx/sbin/nginx –s stop [root@svr5 ~]# /usr/local/nginx/sbin/nginx步骤二:客户端测试 1)修改/etc/hosts文件,进行域名解析
[root@client ~]# vim /etc/hosts 192.168.4.5 www.tarena.com bbs.tarena.com2)登录192.168.4.205主机进行测试
[root@client ~]# firefox http://bbs.tarena.com //输入密码后可以访问 [root@client ~]# firefox https://www.tarena.com //信任证书后可以访问3)登录非192.168.4.205的其他任意主机测试
[root@client ~]# firefox http://bbs.tarena.com //无法访问 [root@client ~]# firefox https://www.tarena.com //信任证书后可以访问