基于域名的虚拟主机



  1. 实现两个基于域名的虚拟主机,域名分别为www.a.com和www.b.com
  2. 对域名为www.a.com的站点进行用户认证,用户名称为tom,密码为123456

 

修改Nginx配置文件,添加server容器实现虚拟主机功能;对于需要进行用户认证的虚拟主机添加auth认证语句。

虚拟主机一般可用分为:基于域名、基于IP和基于端口的虚拟主机。

实现此案例需要按照如下步骤进行。

步骤一:修改配置文件

1)修改Nginx服务配置,添加相关虚拟主机配置如下

 
  1. [root@proxy ~]# vim /usr/local/nginx/conf/nginx.conf
  2. .. ..
  3. server {
  4. listen 80;                                     //端口
  5. server_name www.a.com;                             //域名
  6. auth_basic "Input Password:";                        //认证提示符
  7. auth_basic_user_file "/usr/local/nginx/pass";        //认证密码文件
  8. location / {
  9. root html;                                    //指定网站根路径
  10. index index.html index.htm;
  11. }
  12.  
  13. }
  14. … …
  15.  
  16. server {
  17. listen 80;                                        //端口
  18. server_name www.b.com;                             //域名
  19. location / {
  20. root www;                                 //指定网站根路径
  21. index index.html index.htm;
  22. }
  23. }

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

 
  1. [root@proxy ~]# mkdir /usr/local/nginx/www
  2. [root@proxy ~]# echo "www" > /usr/local/nginx/www/index.html

3)重新加载配置

 
  1. [root@proxy ~]# /usr/local/nginx/sbin/nginx -s reload
  2. #请先确保nginx是启动状态,否则运行该命令会报错,报错信息如下:
  3. #[error] open() "/usr/local/nginx/logs/nginx.pid" failed (2: No such file or directory)

步骤二:客户端测试

1)修改客户端主机192.168.4.10的/etc/hosts文件,进行域名解析

 
  1. [root@client ~]# vim /etc/hosts
  2. 192.168.4.5    www.a.com www.b.com

2)登录192.168.4.10客户端主机进行测试

注意:请先关闭真实机的firefox,再SSH -X远程连接调用虚拟机的firefox。

  1. [root@client ~]# firefox http://www.a.com            //输入密码后可以访问
  2. [root@client ~]# firefox http://www.b.com            //直接访问

提示:或者直接使用真实主机做客户端主机验证,修改真实主机的/etc/hosts文件,直接使用真实主机的火狐浏览器访问也可以。

扩展课外实验:其他类型的虚拟主机



1.基于端口的虚拟主机(参考模板)

 
  1. server {
  2. listen 8080;              //端口
  3. server_name web1.example.com;         //域名
  4. ......
  5. }
  6. server {
  7. listen 8000; //端口
  8. server_name web1.example.com; //域名
  9. .......
  10. }

2.基于IP的虚拟主机(参考模板)

 
  1. server {
  2. listen 192.168.0.1:80;          //IP地址与端口
  3. server_name web1.example.com;         //域名
  4. ... ...
  5. }
  6. server {
  7. listen 192.168.0.2:80; //IP地址与端口
  8. server_name web1.example.com;
  9. ... ...
  10. }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 Ubuntu 上配置基于域名虚拟主机,需要进行以下步骤: 1. 安装 Apache 服务器 在终端中输入以下命令安装 Apache 服务器: ``` sudo apt update sudo apt install apache2 ``` 2. 创建虚拟主机目录 在终端中输入以下命令创建虚拟主机目录: ``` sudo mkdir /var/www/example.com ``` 其中 example.com 是你要设置的虚拟主机域名。 3. 设置虚拟主机权限 在终端中输入以下命令设置虚拟主机权限: ``` sudo chown -R $USER:$USER /var/www/example.com sudo chmod -R 755 /var/www/example.com ``` 4. 创建虚拟主机配置文件 在终端中输入以下命令创建虚拟主机配置文件: ``` sudo nano /etc/apache2/sites-available/example.com.conf ``` 在文件中输入以下内容: ``` <VirtualHost *:80> ServerName example.com ServerAlias www.example.com DocumentRoot /var/www/example.com ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> ``` 其中,ServerName 和 ServerAlias 分别是你要设置的虚拟主机域名和别名,DocumentRoot 是你要设置的虚拟主机目录。 5. 启用虚拟主机 在终端中输入以下命令启用虚拟主机: ``` sudo a2ensite example.com.conf ``` 6. 重启 Apache 服务器 在终端中输入以下命令重启 Apache 服务器: ``` sudo service apache2 restart ``` 现在你已经成功配置了基于域名虚拟主机。你可以在浏览器中输入你设置的虚拟主机域名访问你的网站。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值