135.四.Apache的管理及优化web

目录

一.Apache的作用

二.Apache的安装

三.Apache的启用

四.Apache的基本信息

五.Apache的基本配置

​六.Apache的访问控制

七.Apache的虚拟主机

八.Apache的语言支持

九.Apache的加密访问

十.Squid+Apache


一.Apache的作用

(一)在web被访问时通常使用http://的方式
http://   超文本传输协议

(二)http://    超文本传输协议提供软件:
Apache
nginx
stgw
jfe
Tengine

二.Apache的安装

dnf install httpd.x86_64 -y

三.Apache的启用

systemctl enable --now httpd            开启服务并设定服务位开机启动
systemctl disable --now firewalld      关闭火墙

setenforce  0

四.Apache的基本信息

服务名称:httpd
配置文件:
        /etc/httpd/conf/httpd.conf    主配置文件
        /etc/httpd/conf.d/*.conf        子配置文件
默认发布目录:    /var/www/html
默认发布文件:    index.html
默认端口:    80    http
        443    https


用户:        apache
日志:        /etc/httpd/logs

五.Apache的基本配置

(一).Apache端口修改
vim /etc/httpd/conf/httpd.conf

systemctl restart httpd


(二).默认发布文件
vim /etc/httpd/conf/httpd.conf
DirectoryIndex westos.html index.html
systemctl restart httpd


(三).默认发布目录
vim /etc/httpd/conf/httpd.conf
systemctl restart httpd 

firefox http://172.25.254.102


六.Apache的访问控制

(一).基于客户端ip的访问控制
1.ip白名单
<Directory "/var/www/html/">
        Order Deny,Allow
        Allow from 172.25.254.102       
        Deny from All
</Directory>


2.ip黑名单
<Directory "/var/www/html/">
        Order Allow,Deny
        Allow from All        
        Deny from 172.25.254.102
</Directory>

(二).基于用户认证
vim /etc/httpd/conf/httpd.conf
<Directory "/var/www/html/">
        AuthUserfile /etc/httpd/.htpasswd            指定认证文件
        AuthName "Please input your name and password"        认证提示语
        AuthType basic                        认证类型
        Require user admin                    允许通过的认证用户    (2选1)
    Require valid-user                    允许所有用户通过认证    (2选1)
</Directory>

htpasswd -cm /etc/httpd/htpasswdfile admin            生成认证文件
注意:当/etc/httpd/htpasswdfile存在那么在添加用户时不要加-c参数否则会覆盖源文件内容

测试:

七.Apache的虚拟主机

通过一个服务器,同时发布多个网页

(一)编辑发布目录及文件

(二)编辑本地地址解析

(三)编辑http子配置文件

vim /etc/httpd/conf.d/vhost.conf

(四)测试:

八.Apache的语言支持

(一)php
vim /var/www/html/index.php
<?php
    phpinfo();
?>

dnf install php -y
systemctl restart httpd 


可以直接访问,firefox http://172.25.254.102/index.php

(二)cgi

1.编写代码
vim /var/www/html/index.cgi
#!/usr/bin/perl
print "Content-type: text/html\n\n";
print `date`;

2.编写代码网页效果实现

vim /etc/httpd/conf.d/vhost.conf

<Directory "/var/www/html/">
    Options +ExecCGI
    AddHandler cgi-script .cgi
</Directory>

3.firefox http://172.25.254.102

(三)wsg

1.编写代码

vim  /var/www/html/wsgi/index.wsgi

def application(env, start_response):
    start_response('200 ok', [('Content-Type','text/html')])
    return [b"Hello World"]

2.编写代码网页效果实现

3.测试

九.Apache的加密访问

(一)https端口

less /etc/services

安装加密插件
dnf install mod_ssl -y

(二)配置文件

(三)效果

删除证书


1.生成证书

openssl genrsa -out /etc/pki/tls/private/www.westos.org.key 2048    生成私钥

2.openssl req -new -key /etc/pki/tls/private/www.westos.com.key \
-out /etc/pki/tls/certs/www.westos.com.csr                生成证书签名文件

签名信息

3.openssl x509  -req -days 365 -in  \
/etc/pki/tls/certs/www.westos.com.csr \
-signkey /etc/pki/tls/private/www.westos.com.key \
-out /etc/pki/tls/certs/www.westos.com.crt                生成证书

x509 证书格式
-req 请求
-in 加载签证名称
-signkey    /etc/pki/tls/private/www.westos.com.key

systemctl restart httpd

https加密访问未设置发布文件,自动跳到默认发布文件/var/www/html/index.html

(三)针对某个网页加密访问

<VirtualHost *:443>
    ServerName login.westos.com
    DocumentRoot "/var/www/virtual/westos.com/login"
    CustomLog logs/login.log combined
    SSLEngine on
    SSLCertificateFile /etc/pki/tls/certs/www.westos.com.crt
    SSLCertificateKeyFile /etc/pki/tls/private/www.westos.org.key
</VirtualHost>

systemctl restart httpd

(四)输入域名,自动跳成加密访问

vim /etc/httpd/conf.d/vhost.conf
<VirtualHost *:80>
    ServerName login.westos.com
    RewriteEngine on
    RewriteRule ^(/.*)$ https://%{HTTP_HOST}$1
</VirtualHost>
^(/.*)$        客户地址栏中输入的地址
%{HTTP_HOST}    客户主机
$1        RewriteRule后面跟的第一串字符的值

十.Squid+Apache

(一)squid 正向代理


1.实验环境:
单网卡主机设定ip不能上网  ===(虚拟机)
双网卡主机设定ip1可以连接单网卡主机,设定ip2可以上网===(真机,连接wifi上网)

2.实验效果
让单网卡主机(虚拟机)不能上网但浏览器可以访问互联网页

3.操作:
(1)在双网卡主机(真机)中
dnf install squid -y
vim /etc/squid/squid.conf
59 http_access allow all
65 cache_dir ufs /var/spool/squid 100 16 256

systemctl restart squid 
systemctl disable --now firewalld

(2)在单网卡(虚拟机)中选择
NetWork Proxy
172.25.254.2    3128

4.测试:
在单网卡主机(虚拟机)中
ping www.baidu.com    不通
在浏览器中访问www.baidu.com可以


(二)squid反向代理

应用:CDN的全称是Content Delivery Network,即内容分发网络。CDN是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术。

1.实验环境:
172.25.254.102       Apache服务器


172.25.254.2      squid,没有数据,负责缓存

squid未开始什么都访问不到

2.vim /etc/squid/squid.conf
http_port 80 vhost vport        vhost 支持虚拟域名 vport 支持虚拟端口
当172.25.254.2的80端口被访问会从172.25.254.102的80端口缓存数据
cache_peer 172.25.254.102 parent  80      0       proxy-only

0 此squid损坏后,接替的下一个squid

proxy-only 只做代理

systemctl restart squid 

3.测试:
firefox http:/172.25.254.2,访问看到的是172.25.254.102上的数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值