环境:                                                      ↗  atl.example.com  (192.168.1.101)

↗ www.example.com  (192.168.1.101)

↗system1.example.com (192.168.1.101)

centos7  (192.168.1.109) dns 服务器      →system2.example.com(192.168.1.105)

↘classroom.example.com(192.168.1.109)

Apache为server端 ->   rhel7  server ->(192.168.1.101)(system1.example.com)已设置192.168.1.109为dns解析

其他主机为客户端  ->  rhel7   clinet  ->(192.168.1.105)(system2.example.com)已设置192.168.1.109为dns解析

1.安装Apache

yum install -y  httpd

2.配置防火墙80/tcp对全网开放:firewall-cmd --permanent --add-port=80/tcp && firewall-cmd --reload

或者针对某个ip域开放:firewall-cmd --permanent --add-rich-rule 'rule family=ipv4 source address=192.168.1.0/24 service name=http  accept'

3.设置开机自启与重新启动:

systemctl  enable httpd && systemctl restart httpd

4.设置system1.example.com站点

echo 'system1.example.com' > /var/www/html/index.html

执行systemctl restart httpd   然后再浏览器输入 http://system1.example.com

5.配置虚拟主机www.example.com站点

mkdir /var/www/virtual

cp /usr/share/doc/httpd-2.4.6/httpd-vhosts.conf /etc/httpd/conf.d/

vim /etc/httpd/conf.d/httpd-vhosts.conf

<VirtualHost *:80>

DocumentRoot "/var/www/virtual"
ServerName www.example.com
</VirtualHost>

:x    保存退出

执行systemctl restart httpd   然后再浏览器输入http://www.example.com

6.www.example.com网站目录访问 域 和 用户 控制       注意!红色字体为 域 控制语句

域访问控制

<VirtualHost *:80>

DocumentRoot "/var/www/virtual"

ServerName www.example.com
<Directory /var/www/virtual/dwc>
<RequireAll>
Require all granted   #允许所有主机访问
Require local            #只允许本地主机访问
</RequireAll>
</Directory>
</VirtualHost>  #
所以这个配置只允许本地主机访问dwc

<VirtualHost *:80>
DocumentRoot "/var/www/virtual"
ServerName www.example.com
<Directory /var/www/virtual/dwc>
<RequireAll>
Require all granted              #允许所有主机访问
Require  ip 172.25.0.0/24       #允许172.25.0.0/24这个主机访问   <<--填 网段 或者 ip
</RequireAll>
</Directory>
</VirtualHost>  #所以这个配置只允许172.25.0.0/24这个域的主机访问dwc

<VirtualHost *:80>
DocumentRoot "/var/www/virtual"
ServerName www.example.com
<Directory /var/www/virtual/dwc>
<RequireAll>
Require all granted              #允许所有主机访问
Require   not ip 172.25.0.0/24       #拒绝172.25.0.0/24这个域的主机访问      <<--填 网段 或者 i
</RequireAll>
</Directory>
</VirtualHost>  #所以这个配置只拒绝172.25.0.0/24这个域的主机访问dwc

用户的访问控制

首先建立Apache用户口令文件:htpasswd -c /etc/httpd/passwd user1

<VirtualHost *:80>
DocumentRoot "/var/www/html"
ServerName system1.example.com
<Directory /var/www/html/test>
AuthType Basic
AuthName "***welcome! to ^_^ web-login!***"   #web界面欢迎条文
AuthUserFile /etc/httpd/passwd                           #用户口令文件存放路径                     
Require valid-user
</Directory>
</VirtualHost> #此设置只允user1这个用户访问test页面

基于ssl(https)的虚拟主机设置

首先 yum install  -y mod_ssl

然后把crt和key文件放到对应目录

<VirtualHost *:443>  #!注意侦听443端口
DocumentRoot "/var/www/html"
ServerName system1.example.com
SSLEngine on
SSLCertificateFile /etc/pki/tls/certs/system1.crt
SSLCertificateKeyFile /etc/pki/tls/private/system1.key
SSLCertificateChainFile /etc/pki/tls/certs/group1.crt
</VirtualHost>

动态网站非标准端口站点http://alt.example.com:8999

首先安装动态网站插件 yum install -y mod_wsgi

listen 8909  注意侦听8999端口

<VirtualHost *:8909>注意侦听8999端口
WSGIScriptAlias / /var/www/wsgi/webapp.wsgi   #wsgi脚本文件目录
ServerName alt.example.com
</VirtualHost>

然后防火墙打开8999端口:

firewall-cmd --permanent --add-port=8999/tcp也可以富规则

selinux也放行8999端口:

semanage port -a -t http_port_t -p tcp 8999

最后重启服务 systemctl restart httpd

浏览器访问 http://alt.example.com:8999

wsgi+https网站https://alt.example.com

<VirtualHost *:443>
WSGIScriptAlias / /var/www/wsgi/webapp.wsgi    <----wsgi配置
ServerName alt.example.com
SSLEngine on
SSLCertificateFile /etc/pki/tls/certs/system1.crt
SSLCertificateKeyFile /etc/pki/tls/private/system1.key   <---https配置
SSLCertificateChainFile /etc/pki/tls/certs/group1.crt
</VirtualHost>

14.Apache配置的更多相关文章

  1. Windows上为Apache配置HTTPS

    Windows上为Apache配置HTTPS   转 https://www.cnblogs.com/tianzijiaozi/p/7582671.html   1. 安装OpenSSL: Windo ...

  2. Apache配置tomcat集群

     APACHE 2.2.9+TOMCAT6.0配置负载均衡 目标: 使用 apache 和 tomcat 配置一个可以应用的 web 网站,要达到以下要求: 1. Apache 做为 HttpSe ...

  3. [Linux]Apache配置虚拟主机

    Apache 配置虚拟主机的方式很多,种类也很多,主要分为两类:   基于名称的虚拟主机 (每个 IP 多个站点) 基于 IP 的虚拟主机 (每个 IP 一个站点) 基于名称的虚拟主机:  www.2 ...

  4. Apache——配置与应用

    Apache配置与应用 1.概述 2.httpd服务支持的虚拟主机类型 3.构建虚拟Web主机 4.构建Web虚拟目录与用户授权限制 5.日志分割 6.AWStats分析系统 1.概述: 虚拟web主 ...

  5. apache配置 php中没有php5apache2_4.dll

    apache配置 php中没有php5apache2_4.dll 今天,在win7系统下安装Apache+PHP+MySQL时,终于体会到了版本多也不一定是好事,各种不兼容,主要是因为动态包的多少问题 ...

  6. Apache 配置多站点访问「为项目分配二级域名」

    一级域名(baidu.com)也叫作顶级域名,注册一级域名是需要付费的. 而二级域名(image.baidu.com)是一级域名的延伸,所以只要购买了一级域名,二级域名是可以任意配置的. 其实(www ...

  7. 【转】Apache 配置虚拟主机三种方式

    Apache 配置虚拟主机三种方式  原文博客http://www.cnblogs.com/hi-bazinga/archive/2012/04/23/2466605.html 一.基于IP 1. 假 ...

  8. Tomcat:利用Apache配置反向代理、负载均衡

    本篇主要介绍apache配置反向代理,介绍了两种情况:第一种是,只使用apache配置反向代理:第二种是,apache与应用服务器(tomcat)结合,配置反向代理,同时了配置了负载均衡. 准备工作 ...

  9. Apache 配置多端口

    Apache 配置多端口,主要是以下步骤 1. 如果电脑是64位的,官网上下载WampServe,装的过程中如果出现msvcp110.dll丢失的话,解决办法如下: 1.1 首先是打开浏览器,在浏览器 ...

随机推荐

  1. 索引节点inode

    在Linux的文件系统中,索引节点是文件的标识,并且这个值是唯一的,两个不同的文件的索引节点值是不同的,索引节点相同的文件它们的内容是相同的,仅仅文件名不同.修改两个索引节点值相同的文件中的一个文件, ...

  2. Linux根文件系统的制作

    转载:http://www.cnblogs.com/hnrainll/archive/2011/06/09/2076655.html 1. 根文件系统 文件系统是包括在一个磁盘(包括光盘.软盘.闪盘及 ...

  3. linux连接静态库

    在项目中发现,使用 -l连接某个库时,如果存在同名的静态库(.a)和动态库(.so),默认会连接.so 那么如何指定连接静态库呢?如果有多个库,有些要连接静态库.有些要连接动态库,连接选项该如何指定呢 ...

  4. 【阿里云产品公测】弹性伸缩服务ESS之试用初体验

    弹性伸缩服务ESS之试用初体验 作者:云郎 2014/10/15 阿里云弹性伸缩服务(Elastic Scaling Service)是根据用户的业务需求和策略,自动调整其弹性计算服务器(ECS)的管 ...

  5. In-Memory:Hash Index

    SQL Server 2016支持哈希查找,用户可以在内存优化表(Memory-Optimized Table)上创建Hash Index,使用Hash 查找算法,实现数据的极速查找.在使用上,Has ...

  6. Handsontable 学习笔记-Methods

    Handson: 亲自实践 先给出数据源和基本配置: var data =[ ["A1","B1","C1","D1"] ...

  7. 【Java线程池快速学习教程】

    1. Java线程池 线程池:顾名思义,用一个池子装载多个线程,使用池子去管理多个线程. 问题来源:应用大量通过new Thread()方法创建执行时间短的线程,较大的消耗系统资源并且系统的响应速度变 ...

  8. matlab 和 origin作图去除白边,字体调节

    一 matlab作图 (1)在图形文件figure的菜单上点击file->export setup, 在size选项中,对"expand axes to fill figure&quo ...

  9. RandomAccessFile的使用

    package com.lk.C; import java.io.IOException; import java.io.RandomAccessFile; public class RandomAc ...

  10. NSURLConnection & NSRULSession

    NSURLConnection & NSRULSession NSURLSession是NSURLConnection 的替代者,在2013年苹果全球开发者大会(WWDC2013)随ios7一 ...