设为首页 收藏本站
查看: 1148|回复: 0

[经验分享] (续)Apache

[复制链接]

尚未签到

发表于 2018-11-24 06:40:20 | 显示全部楼层 |阅读模式

  Apache之所以受到很多公司的亲睐,正是他的开源代码,跨平台,模块化设计,功能灵活,不仅性能稳定,安全性也表现出色。下面我们就一起看看他安全性的表现,以及虚拟主机的配置。
  http服务的访问控制:
  主机控制
  在apache的主配置文件中,通过配置项 Order,Denyfrom,allowform 可以限制客户机ip或者是主机名的访问,其中order 用来设置限制顺序,denyfrom和allowfrom用来设置具体的内容。
  Order: 决定匹配的顺序
  allow,deny 先允许 后拒绝 默认拒绝所有没有明确允许的客户端。
  deny,allow 先拒绝 后允许,默认允许所有没有明确拒绝的客户端。
  可以用all 来指定所有的地址。
DSC0000.png

  下面我就来限制一下
DSC0001.png

  这样就除了192.168.1.1以外的全都会拒绝掉了。
DSC0002.png

  表示没有权限
  用户认证:
  在主配置文件的“目录”中
  添加
  AuthName:定义受保护的领域名称,也可以理解为是提示信息。
  AuthType:设置认证类型,Basic 表示基本认证。
  AuthUserFile:设置用于保存用户账号,密码的文件路径。
  Requite valid—user :要求认证文件中只有合法的用户才能访问其中 valid-user表示所有合法用户,若要指定单个用户 后面跟上指定的用户名。
  下面来测试一下
DSC0003.png

  然后再用htpasswd 命令指定认证文件和用户以及密码
DSC0004.png

  -c 是创建认证文件 后面跟上用户名robin
  第二次创建用户的时候就不用加-c 了  因为文件已经存在了  不然会提示 覆盖操作
  可以看出现在有两个用户 以及加密的密码。
  访问一下
  提示要认证
DSC0005.png

  Robin用户已经成功登陆
DSC0006.png

  否侧提示没有认证成功
DSC0007.png

  以上都是体现了Apache的安全性方面,接下来是怎么样构建虚拟主机
  什么是虚拟web主机, 虚拟web主机就是在同一台服务器中运行多个web站点,每个站点并不是完全占有整个服务器。因此称为 ‘虚拟的web’主机,通过虚拟主机可以大大减少web站点的成本和维护费用。
  无论是微软的IIS网站服务,还是Apache 以及后面要研究的Nginx 构建虚拟主机的方法无外乎三种方法:
  基于域名: 服务器的一个ip对应多个不同的域名。
  基于ip地址:每个虚拟主机的域名不同,切对应的ip也不一样,也就是说,一台服务器上有多个ip地址。
  基于端口:我们知道http 是监听的80 端口,如果我们将不同的虚拟主机监听的端口都不一样的话 也能够实现虚拟主机, 但是客户端访问的时候要指定端口访问,因为浏览器默认访问服务器的80端口。
  Apache配置虚拟主机的主要配置文件除了之前的httpd.conf之外,还有就是httpd-vhosts.conf 默认是放在Apache安装目录下的conf/extra/ 下
  下面就来操作一下
  显示基于域名 的
  因为是靠域名范文 就要有域名解析 这里因为环境问题 我就把两个域名直接写在hosts文件当中了      同一个ip对应不同的域名
DSC0008.png

  域名问题解决了 还有网页文件的问题 我就手工写两行网页文件
  mkdir 创建了两个站点的根目录  echo 命令是向index.html 默认文档中写入内容
DSC0009.png

  最后就是配置两个配置文件了
  先是 httpd的主配置文件 要让他支持虚拟主机的功能 。
  默认这一项是注释掉的 如图
DSC00010.png

  取消他的注释 重启服务即可
  另一个就是 httpd-vhosts.conf配置文件了  这里的默认位置如图:
DSC00011.png

  一般在配置虚拟主机的时候 主要配置的是这几个方面的内容
  监听地址: 包括 ip  端口号 由NameVirtualHost 配置项指定
  虚拟主机区域:其中包括主机名称 网页更目录,管理员邮箱 以及log方面
  目录权限:为每一个虚拟主机所在的目录配置访问权限。
  httpd—vhosts.conf 文件中默认有虚拟主机的示例,我们只要稍作改动即可
DSC00012.png

  NameVirtualHost:指定要所有虚拟主机要监听的地址和端口  * 代表所有
  
  ……
  …… 省略
   : 虚拟主机区域,不同的区域就以这个标志区分
  ServerAdmin : 指定管理员邮箱
  DocumentRoot:指定网页的根目录
  Server-Name:指定网站名称
  ServerAlias:网站的别名
  Errolog: 错误日志存放位置
  CustomLog:访问日志存放位置   common 格式为通用
  知道这些参数作用之后 就根据刚才创建的网页和网页目录修改
DSC00013.png

  然后重启服务 浏览器访问
  百度
DSC00014.png

  51cto
DSC00015.png

  好了  然后是根据端口做虚拟主机
  只要把创建虚拟主机三种方法的原理弄明白,就很好配置了,只需要继续做改动就可以
  先改动httpd.conf主配置文件 因为他默认只监听了80 端口 所以要添加  这里我添加了51端口 (要保证这个端口没有被其他的服务所占用)
DSC00016.png

  虚拟主机方面也要更改
DSC00017.png

  另外 建议httpd-vhosts.conf 中默认监听的80 给他注释掉 有每个虚拟主机中的配置决定监听的地址
DSC00018.png

  浏览器访问
DSC00019.png

  哦了
  关于基于ip的配置方法就不详细解释了 他并不是最常用的,原因是公网的ip造价高,小公司用不起啊!Apache就介绍到这吧。有时间在介绍下windows下Apache的配置。(其实前面博客已经稍稍介绍了一点了 DSC00020.png
  Ps:我今天微博添加了一些比较冷门的音乐,有兴趣的可以多串串。




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-638781-1-1.html 上篇帖子: APMserv5.2.6 apache启动失败 下篇帖子: apache+svn认证部署实战
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表