10、配置web服务器
要求:
配置站点http://server1.domain1.example.com,从HTTP://XXXX下载index文件,放到web服务器的DocumentRoot目录下
拒绝my123.org的客户端访问此服务器
yum install httpd
wget -O /var/www/html/index.html http://xxxxxx
systemctl restart httpd
systemctl enable httpd
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/html/
ServerName server1.domain1.example.com
</Virtualhost>
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload
firewall-config 进入图形界面,在Rich Rules里永久增加一条reject HTTP 来源于172.23.0.0/24(ping my123.org得到)的规则
11、配置https 安全web服务
要求:
为站点配置TLS加密,已签名证书文件 server1.crt,证书密钥server1.key,证书授权信息domain1.crt文件已放到/var/www/html目录下
yum install mod_ssl
vim /etc/httpd/conf.d/httpd-vhosts.conf
<VirtualHost *:443>
SSLEngine on
SSLProtocol all -SSLv2
SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5
SSLHonorCipherOrder on
DocumentRoot /var/www/html
ServerName server1.domain1.example.com
SSLCertificatFile /var/www/html/server1.crt
SSLCertificateKeyFile /var/www/html/server1.key
SSLCACertificateFile /var/www/html/domain1.crt
</VirtualHost>
安装完mod_ssl后,会生成配置文件在/ etc/httpd/conf.d/ssl.conf,关于SSL配置的参数可以从里面找到
setsebool -P httpd_read_user_content=on
systemctl restart httpd
12、配置虚拟主机
要求:
扩展web服务器,建立www.domain1.example.com
设置DocumentRoot为/var/www/virtual
从http://xxxx下载文件并重命名为index.html,放到DocumentRoot目录下
确保jack用户能在/var/www/virtual目录下创建文件
mkdir /var/http/virtual
setfacl -m u:jack:rwx /var/www/virtual
wget -O /var/http/virtual/index.html http://xxxx
vim /etc/httpd/conf.d/httpd-vhosts.conf
<VirtualHost *:80>
DocumentRoot "/var/www/virtual"
ServerName www.domain1.example.com
</VirtualHost>
13、配置web内容的访问
要求:
在web服务器的DocumentRoot目录下创建一个secret的目录
从server上任何人都可以浏览secret内容,但其他系统不能访问这个目录
mkdir /var/www/html/secret
vim /etc/httpd/conf.d/httpd-vhosts.conf
<Directory "/var/www/html/secret">
Allowoverride None
Require all denied
Require local
</Directory>
systemctl restart httpd
14、实现动态web内容
要求:
在server上配置动态web内容,动态内容由dynamic.domain1.example.com提供,虚拟主机监听端口8998
从HTTP://XXXX下载一个脚本放在适当的位置
客户端访问dynamic.domain1.example.com时应该收到动态生成的web界面
domain1.example.com域内所有主机都能访问动态页面
yum install mod_wsgi
mkdir /var/www/ws
wget /var/www/ws HTTP://XXXX
vim /etc/httpd/conf.d/httpd-vhosts.conf
listen 8998
<VirtualHost *:8998>
WSGIScriptAlias / /var/www/ws/web.wsgi
ServerName dynamic.domain.eximple.com
</VirtualHost>
semanage port -a -t http_port_t -p tcp 8998
#selinux manage, -a 增加 -t http_port_t类型, -p tcp 8998端口
firewall-cmd --permanent --add-port=8998/tcp
firewall-cmd --reload
systemctl restart httpd