开发者社区> 余二五> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

http的路径别名、虚拟主机、用户认证

简介:
+关注继续查看
1、httpd路径别名
  Alias
 其存在在/etc/httpd/conf/目录中httpd.conf文件中,
 

 

 其定义的语法格式为Alias /URL "local_path"
 大概意思就是用一个简单的路径来映射长路径:
 如图中, /icons/映射的路径为 “/var/www/icons/”
  例子:

  1. [root@Cyz ~]# mkdir -pv /bbs/forum          //创建路径  
  2. mkdir: created directory `/bbs'  
  3. mkdir: created directory `/bbs/forum'  
  4. [root@Cyz ~]# cd /bbs/forum/  
  5. [root@Cyz forum]# vim index.html            //为其创建主页并在其中添加信息,大致为  
  6.                                          //Lujing Bieming –观察而已  
  7. [root@Cyz forum]# vim /etc/httpd/conf/httpd.conf //编辑里面,  
  8. //加上路径别名Alias /luntan "/bbs/forum"  
  9. //需要注意,/luntan后是否有斜线需与  
  10. // “//bbs/forum”对应,存在应同时存在  
  11. [root@Cyz forum]# service httpd restart        //重启网络服务  
  12. Stopping httpd:                                            [ OK ]  
  13. Starting httpd:                                            [ OK ]  
  14. [root@Cyz forum]#  
 
 然后打开浏览器输入 172.16.111.1/luntan查看内容,
 

 
2、虚拟主机
 首先,我们来为虚拟主机分下类:
              虚拟主机:
                     基于IP的虚拟主机;
                     基于端口的虚拟主机;
                     基于域名的虚拟主机;
     虚拟主机的定义格式如下:

  1. <VirtualHost HOST> 
  2.  
  3. </VirtualHost> 
 ①前提:得先取消中心主机,注释中心主机的DocumentRoot即可。因为虚拟主机和中心主机不能同时使用。/etc/httpd/conf/httpd.comf
 

 ②创建虚拟主机
   有2中方法:在/etc/httpd/conf/httpd.comf中定义VirtualHost,或者在conf.d目录下创建,这里选取在conf.d中创建

  1. [root@Cyz conf.d]# vim virtual.conf  
  2.    
  3. // 首先我们来创建基于不同IP的虚拟主机  
  4. <VirtualHost 172.16.111.1:80>    //:80是指web的默认端口80  
  5.         ServerName hell.magedu.com  
  6.         DocumentRoot "/www/magedu.com"  
  7. </VirtualHost> 
  8.    
  9. <VirtualHost 172.16.111.2:80> 
  10.         ServerName www.a.org  
  11.         DocumentRoot "/www/a.org"  
  12. </VirtualHost> 
  13. :wq   //保存退出  
 
然后由于我们的文件目录还没创建,这里我们去创建这些目录文件

  1. [root@Cyz ~]# mkdir -pv /www/{magedu.com,a.org}  
  2. mkdir: created directory `/www'  
  3. mkdir: created directory `/www/magedu.com'  
  4. mkdir: created directory `/www/a.org'  
  5.    //创建目录完成,下一步创建index.html文件  
  6. [root@Cyz ~]# cd /www/magedu.com/  
  7. [root@Cyz magedu.com]# vim index.html  
  8.  //index.html文件中可随意添加,起到注释作用即可。  
  9. [root@Cyz magedu.com]# cd /www/a.org/  
  10. [root@Cyz a.org]# vim index.html //同上  
  11.    
  12. [root@Cyz a.org]# service httpd restart    //重启网络服务  
  13. Stopping httpd:                                            [ OK ]  
  14. Starting httpd:                                            [ OK ]  
  15.    
  16. //这个时候。我们还没有为172.16.111.2添加别名,所以:  
  17. [root@Cyz a.org]# ip addr add 172.16.111.2/16 dev eth0 //添加别名  
  18. [root@Cyz a.org]# ip addr show                 //查看别名  
  19. 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue   
  20.     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00  
  21.     inet 127.0.0.1/8 scope host lo  
  22. 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000  
  23.     link/ether 00:0c:29:15:c3:cf brd ff:ff:ff:ff:ff:ff  
  24.     inet 172.16.111.1/16 brd 172.16.255.255 scope global eth0  
  25.     inet 172.16.111.2/16 scope global secondary eth0     //这里说明已经添加完成  
 
这里,我们已经做好了基于IP的虚拟主机,这个时候我们打开ie浏览器来查看
 

 

 

然后,我们来创建基于不同端口的虚拟主机:
我们这里继续编辑

  1. [root@Cyz conf.d]# vim virtual.conf  
  2. //在其中加入  
  3. <VirtualHost 172.16.111.1:8080> 
  4.         ServerName www.b.net  
  5.         DocumentRoot "/www/b.net"  
  6. </VirtualHost> 
  7. :wq  
  8. //继续去创建一个b.net目录并创建index.html(方法同上)  
  9. [root@Cyz www]# mkdir b.net  
  10. [root@Cyz www]# cd b.net  
  11. [root@Cyz b.net]# vim index.html //内容起到标示作用即可  
  12. //然后到conf/httpd.conf中启用监听端口8080  
  13. [root@Cyz b.net]# vim /etc/httpd/conf/httpd.conf  
  14. //找到Listen 80在其下添加  
  15. Listen 8080  
  16.    
  17. [root@Cyz b.net]# service httpd restart    //重启网络服务  
 
然后我们继续访问
 

 

然后,我们来创建基于不同域名的虚拟主机:
首先我们要启用NameVirtualHost并制定在哪个地址上,监听哪个端口

  1. //这里同样可以在httpd.conf中定义,也可以在我们在conf.d目录中创建的文件中定义,这里我们依然在conf.d目录中的文件中定义  
  2. [root@Cyz ~]# vim /etc/httpd/conf.d/virtual.conf  
  3. //在头部添加  
  4. NameVirtualHost 172.16.111.2:80 //这里表明在111.2:80上实现不同域名的虚拟主机  
  5. //然后我们继续在下面添加  
  6. <VirtualHost 172.16.111.2:80> 
  7.         ServerName www.d.gov  
  8.         DocumentRoot "/www/d.gov"  
  9. </VirtualHost> 
  10. :wq  
  11. //继续创建目录与文件  
  12. [root@Cyz www]# mkdir d.gov  
  13. [root@Cyz www]# cd d.gov  
  14. [root@Cyz d.gov]# vim index.html //内容起到标示作用即可  
  15.    
  16. [root@Cyz b.net]# service httpd restart    //重启网络服务  
  17. //这里需要注意的是:如果访问,需要能够解析两个主机名,最简单的方式就是编辑物理机的hosts文件,或者创建一个DNS服务器把那2个主机名解析到自己的主机下。这里我们用简单的方法编辑本机的hosts文件:  
  18. //在hosts文件中加入  
  19.     172.16.111.2   www.a.org  
  20.     172.16.111.2   www.d.gov  
 hosts文件路径:
 

然后我们进行测试访问
 

 

到这里,我们已经完成了对虚拟主机的创建。
 ③为不同的站点添加各自的日志
如果我们没有在conf.d下的virtual.conf中定义日志的存放位子。那么它就全部存在放了/var/log/httpd中,如果想更好的管理,将日志予以分类,我们便可以在virtual.conf中定义:

  1. NameVirtualHost 172.16.111.2:80  
  2. <VirtualHost 172.16.111.1:80> 
  3.         ServerName hell.magedu.com  
  4.         DocumentRoot "/www/magedu.com"  
  5.         CustomLog /var/log/httpd/magedu.com/access_log combined //添加内容  
  6. //combined表示格式,前边表示访问时的存放路径  
  7. </VirtualHost> 
  8.    
  9. <VirtualHost 172.16.111.2:80> 
  10.         ServerName www.a.org  
  11.         DocumentRoot "/www/a.org"  
  12.         CustomLog /var/log/httpd/a.org/access_log combined //添加内容  
  13. </VirtualHost> 
  14.    
  15. <VirtualHost 172.16.111.2:80> 
  16.         ServerName www.d.gov  
  17.         DocumentRoot "/www/d.gov"  
  18.         CustomLog /var/log/httpd/d.gov/access_log combined //添加内容  
  19.    
  20. </VirtualHost> 
  21.    
  22. <VirtualHost 172.16.111.1:8080> 
  23.         ServerName www.b.net  
  24.         DocumentRoot "/www/b.net"  
  25.         CustomLog /var/log/httpd/b.net/access_log combined //添加内容  
  26. </VirtualHost> 
  27. :wq  
  28.    
  29. //然后到var/log目录中创建这些目录  
  30. [root@Cyz ~]# cd /var/log/httpd/  
  31. [root@httpd ]# mkdir a.org b.net d.gov magedu.com  
  32. [root@Cyz httpd]# service httpd restart    //重启网络服务  
  33. 然后在浏览器分别对这些网站进行访问  
  34. [root@Cyz httpd]# tree //查看日志是否生成  
  35. .  
  36. |-- a.org  
  37. |   `-- access_log  
  38. |-- access_log  
  39. |-- access_log.1  
  40. |-- b.net  
  41. |   `-- access_log  
  42. |-- d.gov  
  43. |   `-- access_log  
  44. |-- error_log  
  45. |-- error_log.1  
  46. `-- magedu.com  
  47.     `-- access_log  
  48.    
  49. 4 directories, 8 files  
  50.    
  51. //可以tail命令查看日志内容  
 
3、用户认证
如上实验。如果我们希望用户访问a.org的时候,要通过用户登录才能够访问
 

  1. [root@Cyz httpd]# vim /etc/httpd/conf.d/virtual.conf  
  2. //编辑文件,在2:80中添加  
  3. <VirtualHost 172.16.111.2:80> 
  4.         ServerName www.a.org  
  5.         DocumentRoot "/www/a.org"  
  6.         CustomLog /var/log/httpd/a.org/access_log combined  
  7.         <Directory "/www/a.org"> ///  
  8.         Options none  
  9.         AllowOverride authconfig  
  10.         AuthType basic           
  11.         AuthName "Restrict area."      
  12.         AuthUserFile "/etc/httpd/.htpasswd"  
  13.         Require valid-user     //所有用户  
  14.         </Directory> 
  15. </VirtualHost> 
  16. :wq  
  17. //然后创建用户  
  18. [root@Cyz ~]# htpasswd -c -m /etc/httpd/.htpasswd tom  
  19. // -c表示指定路径,第一次创建的时候需要指出第二次不必,加上会覆盖原先的  
  20. New password:  //不显示的输入  
  21. Re-type new password:   
  22. Adding password for user tom //创建成功  
  23.    
  24. [root@Cyz ~]# httpd –t //检查语法错误  
  25. Syntax OK  
  26.    
  27. [root@Cyz ~]# service httpd restart    //重启网络服务  
 
然后来进行测试访问
 

输入用户名即可访问








本文转自 陈延宗 51CTO博客,原文链接:http://blog.51cto.com/407711169/1175692,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云虚拟主机和CDN配置https教程
如今,https访问已经是不可置疑的大势所趋,阿里云很多产品都可以配置https访问,如果我们已经购买了阿里云虚拟主机、CDN以及ECS云服务器产品,可以参考以下步骤配置https访问。 申请SSL证书1.找到右上角菜单进入控制台,点击三——产品与服务>——安全——ssl证书,如果加圈星标会在左边栏显示。
5301 0
小程序/网站是怎么实现HTTPS协议?阿里云SSL证书2年仅需567元
  小程序/网站是怎么实现HTTPS协议?阿里云SSL证书2年仅需567元   在如今互联网信息时代,小程序的火爆大家有目共睹,企业与开发者们纷纷开展自己的业务,但是开发有必须前提,为了保护小程序应用安全,必须要安装ssl证书,通过HTTPS请求进行网络通信。
1173 0
聊聊HTTPS和SSL/TLS协议
原文地址:http://www.techug.com/https-ssl-tls 要说清楚 HTTPS 协议的实现原理,至少需要如下几个背景知识。1. 大致了解几个基本术语(HTTPS、SSL、TLS)的含义2. 大致了解 HTTP 和 TCP 的关系(尤其是“短连接”VS“长连接”)3. 大致了解加密算法的概念(尤其是“对称加密与非对称加密”的区别)4. 大致了解 CA 证书的用途 考虑到很多技术菜鸟可能不了解上述背景,俺先用最简短的文字描述一下。
1225 0
图解https协议
我们都知道HTTPS能够加密信息,以免敏感信息被第三方获取。所以很多银行网站或电子邮箱等等安全级别较高的服务都会采用HTTPS协议。   HTTPS简介   HTTPS其实是有两部分组成:HTTP + SSL / TLS,也就是在HTTP上又加了一层处理加密信息的模块。
656 0
理解 HTTPS 协议
英文原文:Understanding HTTPS Protocol 最近我们看到很多站点使用 HTTPS 协议提供网页服务。通常情况下我们都是在一些包含机密信息的站点像银行看到 HTTPS 协议。 如果你访问 google,查看一下地址栏,你会看到如下信息 我们可以看到“https" 是绿色高亮显示,并且前面有一个锁标,表明网页请求是通过 https 协议。
670 0
深入浅出https协议(ssl/tls)
http://www.ruanyifeng.com/blog/2014/02/ssl_tls.html ios底层是openssl支持的,android的应该也一样; mac下使用openssl命令查看到的tls加密算法支持类型: DHE-RSA...
865 0
超文本传输协议 -- HTTP/1.0 Hyptertext Transfer Protocol
组织:中国互动出版网(http://www.china-pub.com/)RFC文档中文翻译计划(http://www.china-pub.com/compters/emook/aboutemook.htm)E-mail:ouyang@china-pub.com译者:黄晓东(黄晓东  xdhuang@eyou.com)译文发布时间:2001-7-14版权:本中文翻译文档版权归中国互动出版网所有。
1748 0
黑帽大会:HTTPS和SSL协议存在安全漏洞
HTTPS(安全HTTP)和SSL/TLS(安全套接层/传输层安全)协议是Web安全和可信电子商务的核心,但Web应用安全专家Robert "RSnake" Hansen和Josh Sokol在昨天的黑帽大会上宣布,Web浏览器的基础架构中存在24个危险程度不同的安全漏洞。
1298 0
+关注
文章
问答
文章排行榜
最热
最新
相关电子书
更多
阿里巴巴HTTP 2.0实践及无线通信协议的演进之路
立即下载
数据智能人机交互实践
立即下载
低代码开发师(初级)实战教程
立即下载