Nginx虚拟主机

本文介绍沿用用户认证及访问控制,配置基于域名的虚拟主机。目标包括实现两个域名的虚拟主机、对特定域名进行访问控制、用户认证和SSL加密。思路是修改Nginx配置文件,添加相关语句和指令。还给出了修改配置文件和客户端测试的具体步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

沿用用户认证及访问控制,配置基于域名的虚拟主机

实现以下目标:

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/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			//信任证书后可以访问
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值