Web通信基本概念
基于B/S架构的网页服务
1、服务端提供网页
2、浏览器下载并显示网页
Apache的web服务
软件包:httpd
系统服务:httpd
默认配置:
Listen:监听端口为80
ServerName:本站点注册的DNS名称(空)
DocumentRoot:网页根目录(默认/var/www/html)
DirectoryIndex:起始页(默认index.html)
虚拟Web主机
由同一台服务器提供多个不同的Web站点
区分方式有:
1、基于域名的虚拟主机
2、基于端口的虚拟主机
3、基于IP地址的虚拟主机
由httpd.conf最后一行
IncludeOptional conf.d/*.conf
Apache会读取conf.d下的配置文件,所以可以将虚拟主机的配置写在此目录下
配置:
<VirtualHost IP地址:端口>
ServerName 此站点的DNS名称(域名)
DocumentRoot 此站点的网页根目录
</VirtualHost>
!:一旦启用Web主机后,默认的DocumentRoot、ServerName会被忽略,建立的第一个虚拟站点变成默认站点!!
目录访问权限
针对DocumentRoot网页目录权限控制
httpd运行身份:apache
客户机地址限制
1、使用配置区段
每个文件夹自动继承其父目录的ACL访问权限,除非针对子目录有明确设置
<Directory "父目录路径">
Require all denied //上层目录拒绝任何访问
</Directory>
<Directory "子目录1路径">
Require all granted //子目录1允许任何访问
</Directory>
<Directory "子目录2路径">
Require ip IP或网段地址 .. .. //子目录2允许少数客户机
</Directory>
静态网站与动态网站
静态网站:
用户浏览器访问到的页面和服务端原始网页一样的网站,如例子中的hello
-一般有文本(txt/html)、图片(jpg/png)等静态资源
动态网站:
用户浏览器访问到的页面和原始页面不同,原始页面可能是一堆代码,但浏览器上看到的可能只是短短几个字。
–由Web服务软件接受请求,动态程序转后端模块处理
–PHP页面、Python页面、JSP网页等
安全Web服务
PKI公钥基础设施
-公钥:用来加解密数据
-私钥:用来解密数据(与对应的公钥)
-数字证书:证明拥有者的合法性/权威性
-CA数字证书授权中心:负责证书的申请、审核、颁发、鉴定、撤销等工作
HTTPS加密
端口号:TCP 443
实现条件:
1、启用SSL模块支持
2、部署好加密素材:网站服务器的数字证书、网站服务器的私钥、根证书
证书、秘钥文件部署路径:
-/etc/pki/tls/certs/证书文件.crt
-/etc/pki/tls/private/撕咬文件.key
HTTPS配置:
1、制定SSL虚拟站点的DNS名称、网页根目录
2、制定站点证书/根证书/站点秘钥的位置
8888888888888888888888888888888888888888888888
部署web站点
1、安装软件包
yum -y install httpd
2、配置起始页
echo hello > /var/www/html/index.html
3、开启服务
systemctl restart httpd
配置虚拟主机(根据域名划分)
1、新建并配置配置文件(需要以.conf结尾)
vim /etc/httpd/conf.d/00-default.conf
<VirtualHost *:80> #将默认站点添加到配置中
ServerName www.test.com
DocumentRoot /var/www/html
</VirtualHost>
<VirtualHost *:80> #虚拟web站点配置
ServerName aaa.test.com
DocumentRoot /var/www/test
</VirtualHost>
2、同配置文件的目录新建虚拟主机的文件根目录,新建初始页
mkdir /var/www/test
echo Virtual~~ > /var/www/test/index.html
3、重新启动服务
systemctl restart httpd
设置网页目录访问
1、新建目录与内容
mkdir /var/www/test/private
echo 'im private' > /var/www/test/private/private.html
2、配置文件设定目录限制访问
vim /etc/httpd/conf.d/00-default.conf
<Directory "/var/www/test/private">
Require ip 127.0.0.1 ::1 192.168.4.254
</Directory>
3、重启服务认证
部署WSGI动态网站
1、安装软件包(httpd、mod_wsgi)
yum -y install mod_wsgi
2、修改配置
vim /etc/httpd/conf.d/02-webapp0.conf
Listen 8909
<VirtualHost *:8909>
DocumentRoot /var/www/webapp0
ServerName webapp0.example.com
WSGIScriptAlias / /var/www/webapp0/webinfo.wsgi
</VirtualHost>
3、启动服务
systemctl restart httpd
配置安全web服务
1、安装ssl包
yum -y install mod_ssl
2、部署证书、秘钥
/etc/pki/tls/certs/证书.crt
/etc/pki/tls/private/秘钥.crt
3、配置文件
vim /etc/httpd/conf.d/ssl.conf
<VirtualHost _default_:443>
DocumentRoot "/var/www/html"
ServerName server0.example.com:443
.. .. //修改第100、107、122行
SSLCertificateFile /etc/pki/tls/certs/证书.crt
SSLCertificateKeyFile /etc/pki/tls/private/秘钥.crt
SSLCACertificateFile /etc/pki/tls/certs/example-ca.crt
</VirtualHost>
4、重启服务