Linux基本服务——web服务解析

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 目录

    Web服务解析

    虚拟Web主机

    Web目录访问控制


    Web服务解析

  • 用途:基于 B/S 架构提供网页的服务端程序

    应用层协议:HTTP(TCP 80)

    软件包(S):httpd

    软件包(B):firefox、IE、curl

    检查配置语法:httpd -t

    如何访问一个网站(URL) —— Uniform Resource Locator,网址(统一资源定位器)

    http://www.baidu.com/

    http://music.baidu.com/mp3/huluwa.mp3

    协议名://服务器地址:端口/目录路径/文件

    服务器默认网页从哪来 ——

    网页根目录: /var/www/html/

    配置文件:/etc/httpd/conf/httpd.conf

    /etc/httpd/conf.d/*.conf

    默认首页:index.html

    httpd.conf基础设置 ——

    Listen  "监听地址:端口"

    DocumentRoot    "网页根目录的绝对路径"

    DirectoryIndex  "网站目录下默认提供的第一个网页(首页)的名称"

    ServerName  "网站的FQDN完整域名"

    ServerAlias "网站域名的别名"

    ServerAdmin "网站管理员的电子邮箱地址"

    为 server 快速部署Web服务

    1)装包

    [root@server ~]# dnf  -y  install  httpd

    2)配置

    [root@server ~]# vim /etc/httpd/conf/httpd.conf

    ServerAdmin  webmaster@example.com        //设置网站管理邮箱

    [root@server ~]# echo  'Hello Class!'  > /var/www/html/index.html    //创建默认首页

    3)起服务

    [root@server ~]# firewall-cmd --permanent  --add-service=http

    [root@server ~]# firewall-cmd --reload

    [root@server ~]# systemctl  enable  httpd  --now

    4)从浏览器访问网页

    [client]# curl  http://server.lab.example.com/

    Hello Class!

    访问Web站点时,服务器端给出的常见反馈:

    ++ HTTP OK(200),网页正常响应

    ++ Not Found(404),浏览器请求的网页没找到(真的没这个文件,或者URL网址错了)

    ++ Forbbiden(403),拒绝提供xx网页

    虚拟Web主机

    含义:在一台httpd服务器上提供多个不同的站点

    基于域名的虚拟主机:

    http://server.lab.example.com

    http://web1.lab.example.com

    一旦启用虚拟Web主机以后 ——

    1. 全局配置当中的DocumentRoot和ServerName会被忽略

    2. 如果客户机请求的URL不属于任何一个已知的虚拟站点,那么使用第一个虚拟站点做回应

    配置要点:

    <VirtualHost  *:80>

    ServerName   web1.example.com

    ServerAlias  example.com

    DocumentRoot  /var/www/web1

    CustomLog  "logs/web1-vhost.log"  combined

    ServerAdmin  web1-admin@example.com

    </VirtualHost>

    练习:在 server 上配置虚拟Web主机

    !!!! 当浏览器请求 http://web1.lab.example.com/时,页面显示 "web1"

    !!!! 当浏览器请求 http://server.lab.example.com/时,页面显示 "Coming Soon!"

    1)准备网页目录

    [root@server ~]# mkdir -p /srv/{default,web1}/www

    [root@server ~]# echo 'Coming Soon!' > /srv/default/www/index.html

    [root@server ~]# echo 'web1' > /srv/web1/www/index.html

    [root@server ~]# restorecon -Rv /srv/

    2)配置虚拟Web主机

    [root@server ~]# vim  /etc/httpd/conf.d/vhosts.conf

    <VirtualHost _default_:80>

    ServerName  server.lab.example.com

    DocumentRoot  /srv/default/www

    </VirtualHost>

    <VirtualHost *:80>

    ServerName  web1.lab.example.com

    ServerAlias  lab.example.com

    DocumentRoot  /srv/web1/www

    </VirtualHost>

    <Directory /srv/*/www>

    Require all granted

    </Directory>

    [root@server ~]# systemctl restart httpd

    3)从客户机访问虚拟Web主机

    [client]# vim  /etc/hosts

    192.168.4.98   server.lab.example.com  server  web1.lab.example.com  lab.example.com

    [client]# curl  http://web1.lab.example.com/

    web1

    [client]# curl  http://lab.example.com

    web1

    [client]# curl  http://server.lab.example.com/

    Coming Soon!

    [client]# curl  http://192.168.4.98/

    Coming Soon!

    Web目录访问控制

    Web目录访问的受控因素:

    ++ 基本权限rwx + ACL权限 + 运行用户(apache)

    ++ SELinux策略(目录角色 -t  httpd_sys_content_t、端口开放 http_port_t)

    # chcon  -R  -t  httpd_sys_content_t  /web1new/

    或者

    # semanage fcontext -a -t httpd_sys_content_t  '/web1new(/.*)?'

    # restorecon  -Rv  /web1new/

    ++ 服务配置策略(httpd.conf ==> <Directory  .....>)

    禁止任何人访问根目录(默认设置)

    <Directory />

    AllowOverride none

    Require all denied

    </Directory>

    允许任何人访问

    <Directory  目录路径>

    Require all granted

    </Directory>

    只允许个别网络或IP地址访问

    <Directory  目录路径>

    Require  ip  IP地址  网段IIP .. ..

    </Directory>

    获取httpd配置手册 ——

    # dnf  -y  install  httpd-manual

    # systemctl  restart  httpd

    # firefox  http://server.lab.example.com/manual/

    练习:调整 server 网站目录授权

    ++ 为站点 server.lab.example.com 的网页目录下创建子目录 private

    ++ 在 private 子目录下部署网页 index.html

    ++ 只允许从 server 本机或 serverb 的浏览器访问 private 目录及网页

    ++ 禁止其他任何主机访问 private 子目录

    关键配置:

    [root@server ~]# vim  /etc/httpd/conf.d/vhosts.conf

    <VirtualHost  *:80>

    ServerName  server.lab.example.com

    DocumentRoot  /srv/default/www

    </VirtualHost>

    <Directory /srv/*/www>

    Require all granted

    </Directory>

    <Directory  /srv/default/www/private>

    Require ip 127.0.0.1  192.168.4.98  192.168.4.101

    </Directory>

    [root@server ~]# systemctl  restart  httpd

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/93847.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/93847.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深入理解缓存淘汰策略:LRU vs LFU 完全解析

深入理解缓存淘汰策略&#xff1a;LRU vs LFU 完全解析 文章目录深入理解缓存淘汰策略&#xff1a;LRU vs LFU 完全解析前言一、基础概念解析1.1 LRU&#xff08;Least Recently Used&#xff09;- 最近最少使用1.2 LFU&#xff08;Least Frequently Used&#xff09;- 最少使用…

【C语言】字符函数与字符串函数详解

文章目录一、字符分类函数二、字符转换函数三、strlen函数&#xff1a;计算字符串长度功能说明使用示例模拟实现四、strcpy函数&#xff1a;字符串拷贝功能说明模拟实现五、strcat函数&#xff1a;字符串追加功能说明模拟实现六、strcmp函数&#xff1a;字符串比较比较规则模拟…

uvicorn 启动重复加载 多次加载

目录 uvicorn 启动重复加载 多次加载 解决方法1&#xff1a; 解决方法2&#xff1a; uvicorn 启动重复加载 多次加载 fastapi_aa 是当前类 解决方法1&#xff1a; import uvicornfrom fastapi import FastAPIapp FastAPI()if __name__ "__main__":if sys.gett…

Bard AI本地部署教程:在自己的服务器上运行谷歌AI

Bard AI本地部署教程:在自己的服务器上运行谷歌AI 关键词:Bard AI、本地部署、服务器、谷歌AI、运行教程 摘要:本文旨在为大家详细介绍如何在自己的服务器上实现Bard AI的本地部署。我们会从背景知识讲起,逐步深入到核心概念、算法原理、操作步骤,还会提供项目实战案例和实…

应急响应处置案例(上)

本文目录 目录 本文目录 Web安全事件 概述 案例1 - webshell 背景 排查情况 天眼 服务器 案例2 - Struts2 排查情况 天眼 服务器 案例3 - Redis未授权 背景 排查情况 天眼 服务器 案例4 - EW内网穿透 背景 排查情况 天眼 服务器 案例5 - 一句话木马 背…

面试官问我:“为什么不能完全用对象替代指针?”我笑了:看看Google和Linux内核代码就知道了!

本篇摘要 本篇将以最通俗易懂的语言&#xff0c;形象的讲述为什么很多情境下&#xff0c;我们优先考虑的使用指针而不是对象本身&#xff0c;本篇将给出你答案&#xff01; 一.从一个生活例子说起&#xff0c;形象秒懂 想象一下&#xff0c;你去图书馆借书&#xff0c;下面你…

CAMx大气污染模拟全流程:Linux编译/多重嵌套配置/SMOKE清单预处理/SA-DDM-PA工具应用与科研绘图结果可视化分析

CAMx模型是一个基于大气化学&#xff0c;针对臭氧、颗粒物和雾霾天气过程的大气污染物计算模型。【目标】&#xff1a;1、掌握CAMx模式的区域空气质量模拟案例配置技术方法2、掌握SMOKE模型的CAMx模式大气排放清单输入准备方法3、掌握CAMx模式污染来源解析工具&#xff08;SA&a…

嵌入式学习笔记-MCU阶段-DAY10ESP8266模块

1.ESP8266概述 官方网址&#xff1a;ESP8266 Wi-Fi MCU I 乐鑫科技 (espressif.com.cn) ESP8266模块---wifi模块 产品特点&#xff1a; 2.ESP8266中的wifi: ESP8266EX ⽀持 TCP/IP 协议&#xff0c;完全遵循 802.11 b/g/n WLAN MAC 协议&#xff0c;⽀持分布式控制功能 (DC…

如何快速通过软件项目验收,第三方软件检测机构的重要性

在客户和开发团队之间&#xff0c;最后临门一脚的项目验收环节总容易出现各种问题&#xff0c;以至于时间无限拉长&#xff0c;久久不见结束&#xff0c;为此给大家准备了一份如何快速通过软件项目验收的内容来帮助大家结束持久战。 一、项目验收准备材料 &#xff08;一&…

洛谷做题3:P5711 【深基3.例3】闰年判断

文章目录题目描述输入格式输出格式输入输出样例分析代码题目描述 输入一个年份&#xff0c;判断这一年是否是闰年&#xff0c;如果是输出 1&#xff0c;否则输出 0。 1582 年以来&#xff0c;闰年的定义&#xff1a; 普通闰年&#xff1a;公历年份是 4 的倍数&#xff0c;且不…

PMP证书可以挂靠吗?怎么挂靠?

哈喽学弟学妹们&#xff0c;作为过来人&#xff0c;今天想跟大家聊聊 PMP 证书挂靠这事儿 —— 可能不少准备考或者刚考完的同学都琢磨过&#xff0c;但学长得跟你们交个底&#xff1a;这事儿真不行&#xff0c;更别提啥挂靠费了。先说说 PMP 证书本身哈&#xff0c;它是美国 P…

91-基于Spark的空气质量数据分析可视化系统

基于Spark的空气质量数据分析可视化系统设计与实现 项目概述 本项目是一个基于Apache Spark的大数据分析和可视化系统&#xff0c;专门用于空气质量数据的采集、分析、预测和可视化展示。系统采用分布式计算架构&#xff0c;结合机器学习算法&#xff0c;实现了对全国12个主要…

leetcode 2419. 按位与最大的最长子数组 中等

给你一个长度为 n 的整数数组 nums 。考虑 nums 中进行 按位与&#xff08;bitwise AND&#xff09;运算得到的值 最大 的 非空 子数组。换句话说&#xff0c;令 k 是 nums 任意 子数组执行按位与运算所能得到的最大值。那么&#xff0c;只需要考虑那些执行一次按位与运算后等于…

Git 命令使用指南:从入门到进阶

目录1. Git 基本操作1.1 添加文件到暂存区1.2 提交更改到本地仓库1.3 查看工作区状态1.4 查看提交历史1.5 查看引用日志&#xff08;包括已删除的记录&#xff09;2. 版本回退与撤销2.1 版本回退2.2 查看已删除的提交记录3. 分支管理3.1 查看分支3.2 创建并切换到新分支3.3 合并…

SQL数据库连接Python实战:疫情数据指挥中心搭建指南

SQL数据库连接Python实战&#xff1a;疫情数据指挥中心搭建指南从WHO数据集到实时仪表盘&#xff0c;构建工业级疫情监控系统一、疫情数据指挥中心&#xff1a;全球健康危机的中枢神经​​疫情数据价值​​&#xff1a;全球每日新增病例&#xff1a;50万疫苗接种数据&#xff1…

参赛单位条件放宽!2025年“数据要素 ×”大赛福建分赛厦门赛区赛事有新调整

各位伙伴们 想抓住数据价值机遇 在行业赛场上崭露头角吗&#xff1f; 2025年“数据要素”大赛 福建分赛厦门赛区已启动 这份超全赛事解读 带你一站式摸清参赛关键&#xff01; 01 参赛单位要求放宽 经省分赛组委会与国家赛事组委会沟通&#xff0c;不具有独立法人资格的…

BasicAuthenticationFilter处理 HTTP 基本认证(Basic Authentication)的核心过滤器详解

BasicAuthenticationFilter处理 HTTP 基本认证&#xff08;Basic Authentication&#xff09;的核心过滤器详解在 Spring Security 中&#xff0c;BasicAuthenticationFilter 是​​处理 HTTP 基本认证&#xff08;Basic Authentication&#xff09;的核心过滤器​​&#xff0…

Next.js 中使用 MongoDB 完整指南

1. 安装依赖npm install mongodb # 或者使用 mongoose&#xff08;ODM&#xff09; npm install mongoose2. 数据库连接配置使用原生 MongoDB 驱动创建 lib/mongodb.js 文件&#xff1a;import { MongoClient } from mongodbconst uri process.env.MONGODB_URI const options …

嵌入式系统教学范式演进:云端仿真平台如何重构温湿度监测实验教学

在嵌入式系统开发的教学中&#xff0c;环境温湿度监测实验是经典的入门项目。它涉及传感器原理、外设驱动、数据采集和通信协议等核心知识点。然而传统实验模式面临硬件成本高、调试周期长、设备易损坏等痛点。学生往往因接线错误或代码bug导致传感器或开发板烧毁&#xff0c;不…

1.6万 Star 的流行容器云平台停止开源

什么是 KubeSphere &#xff1f; KubeSphere 是面向云原生应用的容器混合云。 KubeSphere 愿景是打造一个以 Kubernetes 为内核的云原生分布式操作系统&#xff0c;它的架构可以非常方便地使第三方应用与云原生生态组件进行即插即用&#xff08;plug-and-play&#xff09;的集成…