IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> linux系统工程师----3.Apache的管理及优化 -> 正文阅读

[系统运维]linux系统工程师----3.Apache的管理及优化

前言

一、Apache的作用

Apache HTTP Server(简称Apache,音译为阿帕奇)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一。
在web被访问时通常使用http://(超文本传输协议)的方式。

二、Apache的安装及启用

实验环境:
配置两台可以互相通信的主机
172.25.30.30
172.25.30.130
搭建好网络仓库,安装Apache,火墙设置。

dnf install httpd -y 

systemctl enable --now http #开启服务并设定服务开机启动
firewall-cmd --permanent --add-service=http #在火墙中永久开启http访问
firewall-cmd --reload #刷新火墙使设定生效
firewall-cmd  --list-all #查看火墙信息
systemctl restart httpd 

在这里插入图片描述

三、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的基本配置

1.端口修改

进入主配置文件,修改端口为8080,添加端口到火墙,重启服务。

vim /etc/httpd/conf/httpd.conf

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
修改之后,建议改回80,避免影响后续实验。
重启httpd服务比较慢的情况下,可以进行地址解析/etc/hosts。

2.默认发布文件

在默认发布目录/var/www/html下新建发布文件内容,进入主配置文件,默认发布文件为index.html 添加新文件westos.html(在主配置文件中可以存在两个发布文件,在前面的为默认发布文件,即westos.html为默认发布文件),重启服务后,可以在浏览器访问到westos.html中内容。

vim /etc/httpd/conf/httpd.conf

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

3.默认发布目录

[root@hahaha ~]# mkdir /westos_apache ##新建发布目录
[root@hahaha ~]# vim /westos_apache/index.html     ##编辑发布目录文件
[root@hahaha ~]# cat /westos_apache/index.html
westos_apache
[root@hahaha ~]# semanage fcontext -a -t   httpd_sys_content_t '/westos_apache(/.*)?'   ##修改安全上下文
[root@hahaha ~]# restorecon -RvvF /westos_apache/    ##读取安全上下文
Relabeled /westos_apache from unconfined_u:object_r:default_t:s0 to  system_u:object_r:httpd_sys_content_t:s0
Relabeled /westos_apache/index.html from unconfined_u:object_r:default_t:s0 to system_u:object_r:httpd_sys_content_t:s0

[root@hahaha ~]#vim /etc/httpd/conf/httpd.conf
[root@hahaha ~]# systemctl restart httpd

在这里插入图片描述在这里插入图片描述

六、Apache的访问控制

实验素材:
在这里插入图片描述在这里插入图片描述

1.基于客户端ip的访问控制

ip白名单
拒绝除了130所有人访问
在这里插入图片描述
在这里插入图片描述

ip黑名单

在这里插入图片描述注释去掉
在这里插入图片描述

2.基于用户认证的访问控制(用户名和密码)

切换到/etc/httpd设定允许访问的用户和密码,第二个用户创建时加-c参数否则会覆盖源文件内容。

在这里插入图片描述
在这里插入图片描述

    <Directory "/var/www/html/westos">
    AuthUserFile /etc/httpd/.htpasswd   ##指定认证文件
    AuthName "Please input username and passwd" ##认证提示语
    AuthType basic  ##认证类型
    Require user admin ##允许通过的认证用户 2选1
    Require valid-user   ##允许所有用户通过认证 2选1
htpasswd -cm /etc/httpd/htpasswdfile admin   ##生成认证文件

在这里插入图片描述

在这里插入图片描述#admin1用户访问失败

注: 使用Shift+Ctrl+Delete清理浏览器历史记录和缓存,才能使用新用户登录。
在这里插入图片描述使用admin1登陆会弹出新的登陆框提醒重新输入
在这里插入图片描述在这里插入图片描述
配置文件里允许.htpasswd里的所有用户访问,再次使用admin1用户可以登陆。
在这里插入图片描述在这里插入图片描述

七、Apache的虚拟主机

创建多层目录,将内容分别导入发布目录中。
在这里插入图片描述编辑子配置文件
在这里插入图片描述

在浏览器所在主机上编写域名解析文件,在哪打开浏览器就在哪里解析域名.
vim /etc/hosts
在这里插入图片描述
在这里插入图片描述访问成功

八、Apache的语言支持

apche支持的三种语言: html(默认)php   cgi

1.wsgi

在这里插入图片描述

在这里插入图片描述在这里插入图片描述
在这里插入图片描述 在浏览器所在主机编辑域名解析文件/etc/hosts
在这里插入图片描述在这里插入图片描述

2.php

在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述

3.cgi

在这里插入图片描述

在这里插入图片描述在这里插入图片描述

./index.cgi			##查看命令是否可以运行
 ##此时浏览器打不开cgi/index.cgi,只能看见源代码,因为不能被识别

在这里插入图片描述
如果确认无错,检查selinux,更改为permissive
在这里插入图片描述

在这里插入图片描述

九、Apache的加密访问

我们在访问浏览器如www.taobao.com时,页面会自动跳转以https方式进行访问,https服务相比于http多了加密功能,其服务页面基本都具有登录入口。一般来说,用户用浏览器访问服务器时,会在自己的客户主机中输入用户名和密码,输入完成后通过网络传输给服务器进行验证。为了保证用户名和密码的安全性,在传输前浏览器会对用户名和密码等传输数据使用一些技术手段进行加密,同时为了保证传输数据的不可伪造性,还会生成相应的证书;当服务器接收到客户主机传输来的数据后会先对用户证书进行校验,校验通过后使用服务器内部存储的私钥对用户的加密数据进行解密,进行用户验证。

安装加密插件mod_ssl,这一插件为Apache提供了证书、密钥生成、校验等功能,插件安装完成后可以看到httpd服务子配置文件目录/etc/httpd/conf.d下多出了ssl的配置文件,接着重启httpd服务,此时Apache拥有了SSL加密组件.
在这里插入图片描述在这里插入图片描述

在防火墙中永久开启https访问,重启火墙,此时在浏览器中访问https://172.25.30.130弹出安全警告页面
在这里插入图片描述

浏览器警告该网页证书未通过CA机构验证,接受风险继续访问,点击网址前的锁的标志查看该网页默认证书的详细信息,可以看到证书中多处信息未知。

创建/etc/httpd/tls,通过命令重新生成密钥和证书:发送请求,新建密钥文件并使用rsa对其进行加密,输出密钥文件到/etc/httpd/tls;生成证书文件,其格式为x509,证书有效期为365天,输出证书文件到/etc/httpd/tls/westos.org.crt

需要输入内容分别为国家、省、市、机构名称、单位名称、域名,邮箱

mkdir /etc/httpd/tls
openssl req --newkey rsa:2048 -nodes -sha256 -keyout /etc/httpd/tls/westos.org.key -x509 -days 365 -out /etc/httpd/tls/westos.org.crt							##证书设定
///
 依次输入: CN-->Shaanxi-->Xi'an-->WESTOS-->Linux-->www.westos.org-->admin@westos.org
///

**注释:**
 ############
 -req	##请求  x509 ##证书格式
 --newkey rsa:2048 -nodes		##生成私钥
-sha256 -keyout /etc/httpd/tls/westos.org.key			##生成证书签名文件
-x509 -days 365 -out /etc/httpd/tls/westos.org.crt		##生成证书
 ############

在这里插入图片描述

在/etc/httpd/tls中查看生成的密钥和认证,在httpd的共享位置/var/www目录中建立login目录,在该目录下编写其发布文件index.html,编写虚拟主机配置文件件/etc/httpd/vhost.conf如下,重启httpd服务

ls /etc/httpd/tls/
mkdir /var/www/vhost/westos.org/login

vim /var/www/vhost/westos.org/login/index.html
 ///
login.westos.org
///

vim /etc/httpd/conf.d/vhosts.conf
///
<VirtualHost *:443>
    ServerName login.westos.org
    DocumentRoot /var/www/vhost/westos.org/login
    Customlog logs/login.log combined
    SSLEngine on
    SSLCertificateFile /etc/httpd/tls/westos.org.crt
    SSLCertificateKeyFile /etc/httpd/tls/westos.org.key
</VirtualHost>
///
systemctl restart httpd

在这里插入图片描述

注释
 ############
^(/.*)$						##客户地址栏中输入的地址
%{HTTP_HOST}				##客户主机
$1							##RewriteRule后面根的第一串字符的值
############

做域名解析在可以做访问浏览器的主机
vim /etc/hosts

 172.25.30.130 www.westos.org music.westos.org news.westos.org map.westos.org    wsgi.westos.org     login.westos.org

在这里插入图片描述

十、Squid+Apache

Squid cache(简称为Squid)是一个流行的自由软件(GNU通用公共许可证)的代理服务器和Web缓存服务器。Squid主要设计用于在Unix一类系统运行。除了HTTP外,对于FTP与HTTPS的支援也相当好,在3.0 测试版中也支援了IPv6。
1、squid正向代理
实验环境:
westosa–客户端,不能上网
westosb–代理主机,可以连接westosa,设定可以上网
通过网络软件仓库下载软件时,真机火墙需要关闭,但是在westosa主机做测试时需要westosb主机可以上网,此时真机火墙需要打开,所以可以提前下载好软件再开始做实验,避免麻烦

###westosb
dnf install squid -y	
###westosa(172.25.254.130)
dnf install firefox -y

###真机
firewall-cmd --add-masquerade		##地址伪装功能打开,此时需要开启真机火墙
###westosb(172.25.254.230)
#网关与IP设定
vim /etc/sysconfig/network-scripts/ifcfg-westosb
///
BOOTPROTO=none
IPADDR=172.25.254.230
PREFIX=24
NAME=westosb
DEVICE=ens3
ONBOOT=yes
GATEWAY=172.25.254.30				##此处网关ip为真机ip
DNS1=114.114.114.114
///

nmcli connection reload 
nmcli connection show
ifconfig 
route -n							##查看网关
cat /etc/resolv.conf				##查看DNS
ping www.baidu.com					##查看网络是否畅通

#代理主机网络设定成功

设定代理服务

###westosb

dnf install squid -y							##下载squid代理服务器,此时需要关闭真机火墙才能下载
systemctl status squid.service
vim /etc/squid/squid.conf						##squid配置文件
///
 http_access allow all						##http访问控制模块,允许所有人访问
 cache_dir ufs /var/spool/squid 100 16 256	##添加磁盘缓存目录
///
systemctl restart squid.service
netstat -antlupe | grep squid					##查看端口
systemctl start firewalld.service				##开启火墙
firewall-cmd --permanent --add-service=squid	##将squid加入火墙自启程序
firewall-cmd --reload
firewall-cmd --list-all	

在这里插入图片描述
#配置文件修改

###westosa(172.25.254.130)

dnf install firefox -y			##真机火墙需要关闭
##firefox
右上角的三条杠
-->preperences
-->General
-->Network Settings
-->Settings
-->选择Manual proxy configuration
-->勾选Use this proxy server for all protocols
-->HTTP Proxy写入westosb的ip(172.25.254.230)
-->Port3128						##squid默认端口
-->OK
-->www.baidu.com				##第一次访问慢是因为代理要做缓存,真机火墙需要打开

注:此时在shell中ping不通百度,因为是通过代理,所以westosa本机仍不可以上网.
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2、squid反向代理
CDN代理加速,总部服务器向各地分出分部做代理,即缓存服务器,用于提高客户访问速度。
CDN的全称是Content DeliveryNetwork,即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。
简单的来说,就是把原服务器上数据复制到其他服务器上,用户访问时,那台服务器近访问到的就是那台服务器上的数据。CDN加速优点是成本低,速度快。适合访问量比较大的网站。
westosa(客户端)

dnf install httpd.x86_64 -y						##下载apache
systemctl enable --now httpd					##开启apache
systemctl start firewalld.service				##开启火墙
firewall-cmd --permanent --add-service=http		##将apache加入火墙自启
firewall-cmd --reload
echo 172.25.254.130 > /var/www/html/index.html	##编辑客户端发布文件 

westosb(代理服务器)

vim /etc/squid/squid.conf
///
 http_port 80 vhost vport							##虚拟端口80,允许虚拟主机访问
cache_peer 172.25.254.130 parent 80 0 proxy-only	##从westosa的80端口缓存数据,将其作为父级服务器,0表示没有备份主机用于数据保护,proxy-only表示只作为代理服务器
///	
systemctl restart squid.service
firewall-cmd --permanent --add-service=http				##在系统火墙中永久开启http,使westosa 的apache服务可以通过火墙,但westosb本机不需要apache服务
firewall-cmd --reload

在这里插入图片描述
真机测试
测试
#浏览器

172.25.254.130-->index.html(172.25.254.130)
172.25.254.230-->130的数据(172.25.254.130)

通过反向代理也显示westosa主机的发布文件
注:此时在westosa主机的浏览器访问,不能被访问到,因为配置文件中端口发生改变,将端口改为80,则可以访问。

代入企业-代理-个人的关系,此处的客户端应该指的是企业总部服务器,因为代理服务器是总部服务器的代理,所以称之为反向代理。

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-08-27 12:16:30  更:2021-08-27 12:18:52 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 11:35:33-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码