nginx虚拟主机

    xiaoxiao2023-11-26  164

    问题

    沿用练习二,配置基于域名的虚拟主机,实现以下目标:

    实现两个基于域名的虚拟主机,域名分别为www.tarena.com和bbs.tarena.com域名为bbs.tarena.com的Web服务仅允许192.168.4.205访问对域名为bbs.tarena.com的站点进行用户认证,用户名称为tom,密码为123456对域名为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/conf

    3)创建网站根目录及对应首页文件

    [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.html

    4)重启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.com

    2)登录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 //信任证书后可以访问

    最新回复(0)