http超文本传输协议之apache
–>
HTTP是用于从WWW服务器传输超文本到本地浏览器的传输协议。它可以使浏览器更加高效,使网络传输减少。它不
仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图
形)等。我们在浏览器的地址栏里输入的网站地址叫做URL(Uniform
ResourceLocator,统一资源定位符)。就像每家每户
都有一个门牌地址一样,每个网页也都有一个Internet地址。当你在浏览器的地址框中输入一个URL或是单击一个超级
链接时,URL就确定了要浏览的地址。浏览器通过超文本传输协议(HTTP),将Web服务器上站点的网页代码提取出
来,并翻译成漂亮的网页
1、apache
—同步阻塞
企业中常用的web服务,用来提供http://
2、apache的安装部署
yuminstall httpd -y
yuminstall httpd-manual -y
systemctlstart httpd
systemctlenable httpd
systemctlstop firewalld
systemctldisable firewalld
3、apache的基础信息
主配置目录:/etc/httpd/conf
主配置文件:/etc/httpd/conf/httpd.conf
子配置目录:/etc/httpd/conf.d
子配置文件:/etc/httpd/conf.d/*.conf
默认发布目录:/var/www/html
默认发布文件:index.html
默认端口:80
默认安全上下文:httpd_sys_content_t
程序开启默认用户:apache
apache日志:/etc/httpd/logs/*
(1)修改默认端口
vim/etc/httpd/conf/httpd.conf
ListenXXX
systemctlrestart httpd
(2)修改默认发布文件 访问apache时默认没有指定文件名称时默认的文件,可指定多个,有顺序
vim/etc/httpd/conf/httpd.conf
164DirectoryIndex index.html text.html —index不存在时访问text,
(3)修改默认发布目录
119DocumentROOT”/var/www/html”
<Directory”/var/www”>
Requireall granted
</Directory>
semanagefcontext -a -t httpd_sys_content_t ‘/var/www(/.*)’ —修改安全上下文
restorecon-RvvF /var/www/ —刷新安全上下文
4、apache的虚拟主机
(1)mkdir
/var/www/virtual/linux.westos.com/html -p —分别创建两个虚拟主机
(2)mkdir
/var/www/virtual/c.westos.com/html -p
(3)vim
/var/www/virtual/linux.westos.com/html/index.html —写入默认发布文件
(4)vim
/var/www/virtual/c.westos.com/html/index.html
(5)vim/etc/httpd/conf.d/adefault.conf
—配置默认发布目录
<VirtualHost_default_:80>
DocumentRoot”/var/www/html”
CustomLog”logs/www.westos.com.log” combined
</VirtualHost>
(6)vim/etc/httpd/conf.d/linux.conf
<VirtualHost*:80>
ServerNamelinux.westos.com —指定站点名称
DocumentRoot”/var/www/virtual/linux.westos.com/html/” —站点默认发布目录
CustomLog”logs/linux.westos.com.log” combined —站点日志,combined表示4种日志的集和
</VirtualHost>
<Directory”/var/www/virtual/linux.westos.com/html/”>
Requireall granted
</Directory>
(7)vim/etc/httpd/conf.d/c.conf
<VirtualHost*:80>
ServerNamec.westos.com
DocumentRoot”/var/www/virtual/c.westos.com/html/”
CustomLog”logs/c.westos.com.log” combined
</VirtualHost>
<Directory”/var/www/virtual/c.westos.com/html/”>
Requireall granted
</Directory>
(8)在测试主机修改本地解析文件
vim/etc/hosts
172.25.254.239c.westos.com www.westos.com linux.westos.com westos.com
5、apache内部的访问控制
(1)针对主机的文件
vim/etc/httpd/conf.d/adefault.conf
<VirtualHost_default_:80>
DocumentRoot”/var/www/html”
CustomLog”logs/www.westos.com.log” combined
</VirtualHost>
<Directory”/var/www/html”>
Orderallow,deny —列表读取顺序,后读取的会覆盖先读取的重复部分
Allowfrom all
Denyfrom 172.25.254.239 —禁止239访问
</Directory>
(2)用户方式的访问控制
htpasswd-cm /etc/httpd/userpass admin
htpasswd-m /etc/httpd/userpass admin1
vim/var/www/html/admin
vim/etc/httpd/conf.d/adefault.conf
<Directory”/var/www/html/admin”>
AuthUserFile/etc/httpd/userpass
AuthName”Please input your name and password”
AuthTypebasic
#Requireuser admin
Requirevalid-user
</Directory>
admin用户登陆则输入帐号密码正常登陆
admin1输入帐号密码不能登陆
6、apache支持的语言
(1)html
(2)php
vim/var/www/html/index.php
<?php
phpinfo();
?>
yuminstall php -y
systemctlrestart httpd
(3)cgi
mkdir-p /var/www/html/cgi
semanagefcontext -a -t httpd_sys_script_exec_t ‘/var/www/html/cgi(/.*)?‘
restorecon-RvvF /var/www/html/cgi
vim/var/www/html/cgi/index.cgi
#!/usr/bin/perl
print”Content-type: text/html\n\n”;
print`date`;
chmod+x /var/www/html/vgi/index.cgi
/var/www/html/cgi/index.cgi —执行脚本,确保脚本正常运行
vim adefault.conf
<Directory”/var/www/html/cgi”>
Options+ExecCGI
AddHandlercgi-script .cgi
</Directory>
7、https
HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket
Layer),是以安全为目标的HTTP通道,简单讲是HTTP
的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。 它是一个URI
scheme(抽象标识符体系),句法类同http:体系。用于安全的HTTP数据传输。https:URL表明它使用了HTTP,但
HTTPS存在不同于HTTP的默认端口及一个加密/身份验证层(在HTTP与TCP之间)。这个系统的最初研发由网景公司
(Netscape)进行,并内置于其浏览器Netscape Navigator中,提供了身份验证与加密通讯方法。现在它被广泛用于万维网
上安全敏感的通讯,例如交易支付方面。
yum install crypto-utils -y
yum install mod_ssl -y
genkey 公司名
进入设定页面按步骤完成证书的制作
vim
/etc/httpd/conf.d/ssl.conf
101 SSLCertificateFile /etc/pki/tls/certs/localhost.crtbhnc
109 SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
然后登陆测试,发现需要下载证书,下载后即可正常登陆
edit->prefen=rences->advanced->view certificates 删除证书
8、设定apache虚拟主机并设定网页重写
vim/etc/httpd/conf.d/login.conf
<VirtualHost*:443>
ServerNamelogin.westos.com
DocumentRoot/var/www/html/virtual/login.westos.com/html
CustomLog”logs/login.logs” combined
SSLEngineon
SSLCertificateFile/etc/pki/tls/certs/www.xinhao.com.crt
SSLCertificateKeyFile /etc/pki/tls/private/www.xinhao.com.key
</VirtualHost>
<Directory”/var/www/html/virtual/login.westos.com/html”>
Requireall granted
</Directory>
<VirtualHost*:80>
ServerNamelogin.westos.com
RewriteEngineON
RewriteRule^(/.*)$ https://%{HTTP_HOST}$1 [redirect=301]
</VirtualHost>
^(/.*)$ —客户在浏览器地址栏中输入的所有字符
https:// —强制客户加密访问
%{HTTP_HOST} —客户请求主机
$1 —$1表示^(/.*)$的值
[redirect=301] —临时重写,302表示永久重写
本文来源 互联网收集,文章内容系作者个人观点,不代表 本站 对观点赞同或支持。如需转载,请注明文章来源,如您发现有涉嫌抄袭侵权的内容,请联系本站核实处理。