1、架设一个web服务器。在desktopX上配置一个站点:http://desktop22.example.com ,然后执行下面步骤,并且服务器已经提供DNS解析。- 网页内容为desktop22.example.com- 要求来自example.com这个域的成员可以访问desktopX.example.com站点。- 来自于172.24.0.0/24网段的客户端拒绝访问此web[root@localhost 桌面]# yum install elinks -y先安装elinks,测试是否访问[root@localhost 桌面]# yum install http* -y带*安装,可以安装手册一起在conf.d下配置虚拟主机配置文件
然后把防火墙的http协议允许通过外面主机测试是否成功2、配置安全web服务- 为站点http://desktopX.example.com配置TLS加密,并制作一个自签名证书,公钥为joinlabs.crt,私钥为joinlabs.key。- 要求访问http://desktopX.example.com成功,并且跳转https协议。安装ssl模块[root@desktop22 conf.d]# yum install mod_ssl -y然后到/etc/pki/tls/certs下生成自制证书[root@desktop22 certs]# make joinlabs.crt然后编辑再去编辑虚拟主机配置文件<VirtualHost *:443> DocumentRoot /var/www/html ServerName desktop22.example.com SSLEngine on SSLCertificateFile /etc/pki/tls/certs/joinlabs.crt SSLCertificateKeyFile /etc/pki/tls/certs/joinlabs.key3、配置虚拟主机。在desktopX上扩展您的web服务器,为站点http://www.example.com创建一个虚拟主机,然后执行下述步骤- 设置 DocumentRoot为/var/www/virtual- 请自行配置DNS解析- 网页内为wwwX.example.com- 确保用户natasha可以现在或将来都能够在/var/www/virtual的目录中创建内容注意:原始站点http://desktopX.example.com必须仍然能够访问,名称服务器example.com提供对主机名wwwX.example.com的域名解析。<VirtualHost :80> DocumentRoot “/var/www/virtual” ServerName www.example.com RewriteEngine on RewriteCond %{http_host} ^www.example.com RewriteRule ^(.)$ http://www22.example.comsetfacl -m u:natasha:rwx virtualsetfacl -m d:natasha:rwx virtual4、配置web内容的访问。在您的desktopX上的web服务器的DocumentRoot目录下创建一个名为secret的目录,要求如下- 网页内容为www.secret.com- 从desktopX上,任何人都可以浏览secret的内容,但是从其他系统不能访问这个目录内容<VirtualHost *:443> DocumentRoot “/var/www/html” ServerName desktop22.example.com SSLEngine on SSLCertificateFile /etc/pki/tls/certs/joinlabs.crt SSLCertificateKeyFile /etc/pki/tls/certs/joinlabs.key <Directory /var/www/html> Require all granted Require not ip 172.24.0.0/24 alias /secret /var/www/html/secret <Directory /var/www/html/secret> require host .example.com require all denied 5、实现动态web内容,在desktopX上配置提供动态web内容,要求如下:- 请自行配置DNS解析- 动态内容由名为webappX.example.com。- 虚拟主机侦听端口8998- ftp://i/pub/webapp.wsgi下载一个脚本,然后放在适当的位置,无论如何不要修改此文件内容- 客户点访问http://webappX.example.com:8998时,应该接收到动态生成的web页面- 此http://webaapX.example.com:8998必须能被example.com域内的所有系统访问yum searh mod_wsgi #查找包名yum insyall mod_wsgi #安装模块[root@desktop22 wsgi]#semanage port -l | grep httphttp_cache_port_t tcp 8080, 8118, 8123, 10001-10010http_cache_port_t udp 3130http_port_t tcp 80, 81, 443, 488, 8008, 8009, 8443, 9000pegasus_http_port_t tcp 5988pegasus_https_port_t tcp 5989[root@desktop22 wsgi]#semanage port -at http_port_t 8998 -p tcp #selinux通过端口[root@desktop22 wsgi]#[root@desktop22 wsgi]#semanage port -l | grep httphttp_cache_port_t tcp 8080, 8118, 8123, 10001-10010http_cache_port_t udp 3130http_port_t tcp 8998, 80, 81, 443, 488, 8008, 8009, 8443, 9000pegasus_http_port_t tcp 5988pegasus_https_port_t tcp 5989[root@desktop22 wsgi]#firewall-cmd –add-port=8998/tcp –permanent #防火墙通过端口6、配置web服务。在desktopX上扩展您的web服务器,为站点http://www.joinlabs.com创建一个虚拟主机,然后执行以下步骤- 请自行配置DNS解析- 设置 DocumentRoot为/var/www/joinlabs- 网页内容为www.joinlabs.com- 通过本机用户alex与harry,即使配上用户密码也不能登录本机系统,但是可以访问此网页,要求访问此网站时需要用户密码,密码为:redhat- 只有192.168.0.0/24这个网段可以访问。- 在你的desktop系统上有一个除root用户以外的管理员alex,alex用户能对添加或删除访问web站点的用户。- alex用户不能重启httpd服务。#这里需要多个DNS服务器,一台服务器不能做多个二级域名的解析[root@desktop22 joinlabs]# head .htaccessAuthType BasicAuthName “Welcome to linhut”AuthUserFile /etc/httpd/.htpasswdRequire valid-user harry alex[root@desktop22 joinlabs]# useradd -s /sbin/nologin harry[root@desktop22 joinlabs]# useradd alex[root@desktop22 joinlabs]# htpasswd -cm /etc/httpd/.htpasswd harryNew password:Re-type new password:Adding password for user harry[root@desktop22 joinlabs]# htpasswd -m /etc/httpd/.htpasswd alex#这里的c是创建m是加密方式[root@desktop22 joinlabs]# setfacl -m u:alex:rw .htaccess[root@desktop22 joinlabs]# setfacl -m u:alex:rw /etc/httpd/.htpasswd[root@desktop22 joinlabs]# vim /etc/sudoersalex ALL=(ALL) NOPASSWD:/usr/sbin/useradd[root@desktop22 joinlabs]# tail /home/alex/.bash_profile -n1alias useradd=“sudo useradd”7、配置squid代理服务器,要求只有192.168.0.0/24这个网段的主机才能访问所有web站点。注意:防[root@desktop22 joinlabs]# yum install squid -y[root@desktop22 joinlabs]# vim /etc/squid/squid.confacl Lin src 192.168.0.0/24http_access allow Lin[root@desktop22 joinlabs]# firewall-cmd –add-port=3128/tcp –permanent[root@desktop22 joinlabs]# firewall-cmd –list-allpublic (default, active) interfaces: eno16777736 sources: services: dhcpv6-client http https ssh ports: 8998/tcp 3128/tcp masquerade: no forward-ports: icmp-blocks: rich rules:关键vhost.conf 虚拟主机配置文件#单独个ip做了一个虚拟主机指向<VirtualHost *:80> DocumentRoot “/var/www/html” ServerName 192.168.0.22#做了一个协议跳转,跳转到https的域名<VirtualHost :80> DocumentRoot “/var/www/html” ServerName desktop22.example.com RewriteEngine on RewriteRule ^(.)$ https://desktop22.example.com #做的SSL的加密证书,并限制172.24ip段不能通过<VirtualHost *:443> DocumentRoot “/var/www/html” ServerName desktop22.example.com SSLEngine on SSLCertificateFile /etc/pki/tls/certs/joinlabs.crt SSLCertificateKeyFile /etc/pki/tls/certs/joinlabs.key <Directory /var/www/html> Require all granted Require not ip 172.24.0.0/24 alias /secret /var/www/html/secret <Directory /var/www/html/secret> require host .example.com require all denied #做了一个域名跳转,www.redhat.com跳转到www22.example.com<VirtualHost :80> DocumentRoot “/var/www/virtual” ServerName www.example.com RewriteEngine on RewriteCond %{http_host} ^www.redhat.com RewriteRule ^(.)$ http://www22.example.com#做了一个特殊端口的虚拟主机访问指向,并且做了域名访问限制<VirtualHost *:8998> DocumentRoot “/var/www/wsgi” ServerName webapp22.example.com wsgiscriptalias / /var/www/wsgi/webapp.wsgi <Directory /var/www/wsgi> require host .example.com require all denied #开启了端口8998Listen 8998#新建一个虚拟主机并限制可访问ip段<VirtualHost *:80> DocumentRoot “/var/www/joinlabs” ServerName www.joinlabs.com <Directory “/var/www/joinlabs”>AllowOverride all #开启之后可以在网站跟目录写一个.htaccess的访问控制文件 Require all denied Require ip 192.168.0.0/24 DNS配置文件:vim /etc/named.rfc1912.zoneszone “example.com” IN { type master; file “example.com.zone”; allow-update { none; };};zone “0.168.192.in-addr.arpa” IN { type master; file “0.168.192.zone”; allow-update { none; };};vim /var/named/example.com.zone$TTL 1D@ IN SOA desktop22.example.com. root.example.com. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS desktop22.example.com.desktop22 A 192.168.0.22www A 192.168.0.22www22 A 192.168.0.22webapp22 A 192.168.0.22vim /var/named/0.168.192.zone$TTL 1D@ IN SOA desktop22.example.com. root.example.com. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS desktop22.example.com.2 PTR desktop22.example.com.3 PTR www22.example.com.4 PTR www.example.com.5 PTR webapp22.example.com.
视频分享
链接: https://pan.baidu.com/s/1c2TtIQO 密码: e3jz