linux系统下阿帕奇的默认目录修改,黑白名单设置,网页访问设置,https以及Apache代理
Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩展,将Perl/Python等解释器编译到服务器中。Apacheweb服务器软件拥有以下特性:支持最新的HTTP...
Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩展,将Perl/Python等解释器编译到服务器中。
Apacheweb服务器软件拥有以下特性:
支持最新的HTTP/1.1通信协议
拥有简单而强有力的基于文件的配置过程
支持通用网关接口
支持基于IP和基于域名的虚拟主机
支持多种方式的HTTP认证
集成Perl处理模块
集成代理服务器模块
支持实时监视服务器状态和定制服务器日志
支持服务器端包含指令(SSI)
支持安全Socket层(SSL)
提供用户会话过程的跟踪
支持FastCGI
通过第三方模块可以支持Java Servlets
一 修改服务的默认路径:
Apache服务的默认目录是/var/www/html,也就是别人在访问本机时将看到该目录里面的内容。这个目录在我有需要的时候可以进行更改。
1 首先当然是要配置好yum源然后安装Apache服务:yum install httpd
在安装完成之后需要开启服务并关闭防火墙:
2 比如说现在需要将Apache的默认目录修改为/westos,首先需要建立该目录,为了验证修改之后的结果,在该目录下建立一个html文件aaa.html:
在该文件里写上aaa's page,如果修改成功,那么在访问时就将看到aaa's page这几个词:
3 在文件建立完成之后,编辑Apache服务的配置文件,这个文件的路径为: /etc/httpd/conf/httpd.conf
在文件的119行,注释掉原来的目录,并用同样的形式写上DocumentRoot "/westos/",意思是将默认目录修改为/westos
在之后的几行依次写下如下内容,意思是允许所有请求访问资源,并且文件的直接指向文件为aaa.html
配置文件编辑完成只后重启服务:systemctl restart httpd
打开浏览器,输入配置Apache的主机ip回车,就可以看到建立的文件了。表明默认目录修改成功。
二 Apache黑名单和白名单的设置:
Apache黑名单和白名单的设置有两种方式,一种是以ip作为限制,另一种是以用户名作为限制。
ip限制方式:
1 恢复默认目录:注释或删除之前配置的内容,并取消注释原来的内容:
2 在/var/www/html目录下建立目录westos,并在该目录下建立文件westos.html:
同样地写入内容以便验证结果:
3 编辑配置文件,设定对/var/www/html/westos目录的访问权限
其中Order行指令的先后顺序影响着该配置文件是黑名单还是白名单。以还配置文件为例,当Deny在前时,文件的读取顺序是先读取Drny from all这行指令,再读取Allow from 172.25.254.45这行指令。也就是说先拒绝所有的访问,再允许45这台主机的访问。那么这个配置文件的意思是一份白名单了。
那么重启服务之后用45这台主机访问时,可以看到刚才建立的文件:
在用其他主机访问时被禁止:
4 当Allow在前Deny在后时,这就是一份黑名单的配置了:
重启服务之后在浏览器里输入ip,显示请求被禁止:
用户名限制方式:
1 切换到/etc/httpd目录下,执行指令htpasswd -cm apacheuser linux建立一个Apache用户,并为用户设置密码。建立的第一个用户时需要加上指令-c,之后的用户建立就不需要-c了,否则新建的用户就会覆盖掉原来的用户。
在用户建立之后就会在该目录下建立一个文件apacheuser,这个文件里面包含用户名和加密之后的密码文段。
2 编辑apache的配置文件,设置在访问/var/www/html/westos目录时,会读取/etc/httpd/apacheuser文件,并且在读取请求发出时弹出界面please input username and password,要求输入用户名和密码。只有认证成功才可以访问。
配置完成之后需要重启服务。输入用户名和密码之后就可以看到文件了:
三 设置不同域名访问不同的界面
1 想要设置其他主机访问时输入不同的域名访问到不同的界面,首先需要在/etc/hosts文件中,编辑可以访问的域名:
2 在Apache的配置文件中,注释掉Require user linux,编辑Require valid-user:
3 在/etc/httpd/conf.d目录下,建立文件default.conf, music.conf, news.conf
4 vim default.conf文件,编辑如下内容:这里编辑的时访问时的默认文件,即/var/www/html目录下的文件:
在/var/www/html目录下建立文件index.html,并编辑如下内容后保存退出:
重启服务,在访问www.westos.com域名时,就会看到默认文件的内容:
5 设置music.westos.com域名和news.westos.com域名的访问页面:
在/etc/httpd/conf.d目录下编辑music.conf文件:
编辑news.con文件:
在建立目录/var/www/virtual/westos.com,并在该目录下分别建立music,news两个目录:
在music目录里建立文件index.html并编辑内容:
在news目录里建立文件index.html并编辑内容:
6 配置完成之后重启服务,在浏览器访问不同域名将得到不同的结果:
四 设置https:
HTTPS:是HTTP协议的安全加强版,通过在HTTP上建立加密层,对传输数据进行加密。主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性。 在类似于需要输入用户信息比如账户和密码的网页时,需要确保数据的安全,这时就需要设置https。
1 首先需要安装程序mod_ssl:
在这个程序在安装之后,就会在/etc/httpd/conf.d目录下,生成一个ssl.conf文件,这时mod_ssl程序的配置文件:
同时在安装时,会说明.crt文件和.key文件的路径:
2 安装程序:yum install crypto-utils -y
3 执行指令genkey www.westos.com 为域名www.westos.com加密:
在执行指令之后,会进入到加密界面,这个界面中包含.crt文件和.key文件的路径:
选择加密长度,长度越长越安全,但是服务的响应也会越慢:
在这个界面需要按键盘,否则进度就会停止或者很慢:
‘
编辑信息,这一步完成之后就会自动退出加密界面:
4 编辑ssl.conf文件,在文件的100行和107行,注释掉原有内容,添加上.crt文件和.key文件的路径:
5 重启Apache服务,这时再访问www.westos.com域名时,就会要求域名许可证:
点击下面红框中的内容:
选择获取许可证:
这样就会看到文件内容了,此时域名前不是http而是https了:
五 从http到https的自动跳转:
1 以设置login.westos.com域名为例,首先当然是要在/etc/hosts文件中添加login.westos.com这一域名,否则 无法访问
2 同样是在/etc/httpd/conf.d目录下,将music.conf文件复制一份为login.conf:
3 在/var/www/virtual/westos.com目录下建立目录login,并在login目录下建立index.html并编辑如下内容来验证结果:
4 vim login.conf编辑login.conf文件,来进行对自动跳转的配置:
5 配置完成后重启服务,在浏览器里输入login.westos.com:
回车之后,就会从http自动跳转为https:
六 apache的正向代理:
1 在虚拟机里设置网关和dns,使虚拟机可以上网
2 yum install squid -y 安装squid服务
3 systemctl start squid 开启squid服务
4 编辑squid的配置文件:vim /etc/squid/squid.conf
设置http_access 为allow all ,并开启http_port 3128
5 重启squid服务,在server的浏览器里设置:
设置htt[ proxy 和端口为3128:
6 设置完成之后保存,这台主机就可以上网了
七 cdn加速(反向代理):
CDN的全称是Content Delivery Network,即内容分发网络。其目的是通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络“边缘”,使用户可以就近取得所需的内容,提高用户访问网站的响应速度。CDN有别于镜像,因为它比镜像更智能,或者可以做这样一个比喻:CDN=更智能的镜像+缓存+流量导流。因而,CDN可以明显提高Internet网络中信息流动的效率。从技术上全面解决由于网络带宽小、用户访问量大、网点分布不均等问题,提高用户访问网站的响应速度。
CDN的工作流程:
当用户访问已经加入CDN服务的网站时,首先通过DNS重定向技术确定最接近用户的最佳CDN节点,同时将用户的请求指向该节点。当用户的请求到达指定节点时,CDN的服务器(节点上的高速缓存)负责将用户请求的内容提供给用户。具体流程为: 用户在自己的浏览器中输入要访问的网站的域名,浏览器向本地DNS请求对该域名的解析,本地DNS将请求发到网站的主DNS,主DNS根据一系列的策略确定当时最适当的CDN节点,并将解析的结果(IP地址)发给用户,用户向给定的CDN节点请求相应网站的内容。
1 在server这台主机上,删除之前的浏览器设置,并安装squid服务并开启
2 编辑suqid服务的配置文件:vim /etc/squid/squid.conf:
以172.25.254.145这台主机作为父设备,并使用80端口:
3 重启服务,在浏览器里就可以解析域名了
更多推荐
所有评论(0)