web服务之httpd及其新特性

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:

概述

http协议及httpd的一些特性,是学习web服务需要掌握的一些基础知识,接下来让我们进一步了解httpd相关功能的配置,本文讲解的web服务之httpd新特性及其虚拟主机,访问控制及https等功能的配置。

httpd之基本特性

实验环境介绍

开始之前,先介绍一下httpd在CentOS6.8版本及文件:

版本:httpd-2.2.27(centos7默认为2.4以上的版本)

主配置文件: 

        /etc/httpd/conf/httpd.conf

其他配置文件如虚拟主机及其ssl、虚拟主机、欢迎页等

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

服务脚本配置文件:

      /etc/sysconfig/httpd  

服务脚本:

     /etc/init.d/httpd  

日志文件:

     /var/log/httpd/access_log

     /var/log/httpd/error_log 

站点根目录:

     /var/www/html

httpd之MPM多道处理模块:

prefork:一个进程相应一个请求

worker:一个进程生成多个线程,一个线程相应一个请求 

event:一个进程生成多个线程,一个线程相应多个请求,事件驱动,主要的目的是在于实现单线程相应多个请求


httpd之主配置文件详解:

①监听套接字

    Listen [ip:]port

此指令可以出现多次,用于指定监听的多个不同的套接字

    Listen 80 

    Listen 10.1.294.95:8080  

②Keep Alive持久连接

    KeepAlive On|Off 

    KeepAliveTimeout 15 

    MaxKeepAliveRequests 100   

③MPM

    httpd-2.2不支持同时编译多个MPM模块,所以只能编译选定使用哪个,centos6的rpm包为此专门提供了三个应用程序文件,httpd prefork,worker,event,分别用于实现不同的MPM机制的支持,修改/etc/sysconfig/httpd即可。

④定义中心配置文件

    DocumentRoot "/var/www/html":其为站点的根目录的URL,在配置虚拟主机时,此项需注释。

⑤站点访问控制常见机制

    <Directory "">

    Options Indexes FollowSymLink #允许跟踪符号链接文件所指向的源文件,Options Indexes FollowSymLinks :当没有index.html 主页时会显示其目录下的所有站点文件,在线上使用这个选项很危险,一般使用Options -Indexes FollowSynLinks 

    AllowOverride None 

    Order allow,deny 

    Allow from all 

    </Directory>

⑥定义站点的主页

    DirectoryIndex index.html index.html.var   

⑦定义路径别名

    Alias /alias "/path/to/somewhere"

    意味着访问http://server_ip/alias/时,其页面文件来自于/path/to/somefile/的路径

⑧日志设置

    日志类别:访问日志和错误日志 

    错误日志:ErrorLog logs/error_log

    访问日志:CustomLog logs/access_log combine

    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined

           LogFormat "%h %l %u %t \"%r\" %>s %b" common

           LogFormat "%{Referer}i -> %U" referer

           LogFormat "%{User-agent}i" agent    

⑨status页面  

    开启:LoadModule status_modules/mod_status.so  

    开启:server-status允许所有的主机

    <Location /server-status>

        SetHandler server-status 

        Order deny,allow  

        Allow from all 

    </Location>

⑩配置虚拟主机,主要分类为基于ip,基于域名,基于端口,或则ip和端口混用,本实验之前博客有过详解写介绍不在加以说明。user/group,指定以哪个用户身份来运行httpd进程,User  daemon   Group  daemon    


httpd之ssl

实验环境介绍

实验介绍:本实验主要是给web服务加上安全套接字协议,应用web服务之httpd实现 https

https配置

案例要求:

证书颁发服务器:10.1.249.94 

web服务器:10.1.249.95

要求web服务器的www.a.com站点使用https

配置httpd工作于https

要配置https首先要安装mod_ssl模块,请自行安装

为服证书颁发服务端生成私钥,并为其提供证书

1.生成私钥、

(umask 077;openssl genrsa -out private/cakey.pem 2048)

2.自签

openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 3650   

3.创建所需的文件 

touch serial crlnumber index.txt  

4.在web服务器上生成密码

mkdir /etc/httpd/ssl

cd /etc/httpd/ssl

(umask 077;openssl genrsa -out httpd.key 2048) 

5.生成证书申请请求

opensll req -new -key httpd.key -out httpd.csr 

6.将申请请求发给CA,CA签署证书 

openssl ca -in /tmp/httpd.csr -out /etc/pki/CA/newcerts/httpd.crt -days 365   

7.将已签署的证书申请发给web服务

scp /etc/pki/CA/newcerts/httpd.crt  root@10.1.0.1/etc/httpd/ssl/   

8.在浏览器导入证书输入https://www.a.com测试,即可



本文转自chengong1013 51CTO博客,原文链接:http://blog.51cto.com/purify/1857223,如需转载请自行联系原作者

相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
相关文章
|
2月前
|
开发框架 监控 安全
Windows Defender 导致 Web IIS 服务异常停止排查
某日凌晨IIS服务异常停止,经查为Windows Defender安全补丁KB2267602触发引擎更新,导致系统资源波动,进而引发应用池回收。确认非人为操作,系统无重启。通过分析日志与监控,定位原因为Defender更新后扫描加重负载。解决方案:将IIS及.NET相关路径添加至Defender排除列表,避免业务影响。
338 116
|
6月前
|
开发框架 安全 前端开发
Go Web开发框架实践:模板渲染与静态资源服务
Gin 是一个功能强大的 Go Web 框架,不仅适用于构建 API 服务,还支持 HTML 模板渲染和静态资源托管。它可以帮助开发者快速搭建中小型网站,并提供灵活的模板语法、自定义函数、静态文件映射等功能,同时兼容 Go 的 html/template 引擎,具备高效且安全的页面渲染能力。
|
6月前
|
开发框架 JSON 中间件
Go语言Web开发框架实践:使用 Gin 快速构建 Web 服务
Gin 是一个高效、轻量级的 Go 语言 Web 框架,支持中间件机制,非常适合开发 RESTful API。本文从安装到进阶技巧全面解析 Gin 的使用:快速入门示例(Hello Gin)、定义 RESTful 用户服务(增删改查接口实现),以及推荐实践如参数校验、中间件和路由分组等。通过对比标准库 `net/http`,Gin 提供更简洁灵活的开发体验。此外,还推荐了 GORM、Viper、Zap 等配合使用的工具库,助力高效开发。
|
8月前
|
中间件 Go
Golang | Gin:net/http与Gin启动web服务的简单比较
总的来说,`net/http`和 `Gin`都是优秀的库,它们各有优缺点。你应该根据你的需求和经验来选择最适合你的工具。希望这个比较可以帮助你做出决策。
337 35
|
10月前
|
数据采集 Web App开发 API
FastAPI与Selenium:打造高效的Web数据抓取服务 —— 采集Pixabay中的图片及相关信息
本文介绍了如何使用FastAPI和Selenium搭建RESTful接口,访问免版权图片网站Pixabay并采集图片及其描述信息。通过配置代理IP、User-Agent和Cookie,提高爬虫的稳定性和防封禁能力。环境依赖包括FastAPI、Uvicorn和Selenium等库。代码示例展示了完整的实现过程,涵盖代理设置、浏览器模拟及数据提取,并提供了详细的中文注释。适用于需要高效、稳定的Web数据抓取服务的开发者。
549 15
FastAPI与Selenium:打造高效的Web数据抓取服务 —— 采集Pixabay中的图片及相关信息
|
10月前
|
网络协议 Java Shell
java spring 项目若依框架启动失败,启动不了服务提示端口8080占用escription: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that’s listening on port 8080 or configure this application to listen on another port-优雅草卓伊凡解决方案
java spring 项目若依框架启动失败,启动不了服务提示端口8080占用escription: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that’s listening on port 8080 or configure this application to listen on another port-优雅草卓伊凡解决方案
634 7
|
XML JSON 安全
Web服务是通过标准化的通信协议和数据格式
【10月更文挑战第18天】Web服务是通过标准化的通信协议和数据格式
351 69
|
Go UED
Go Web服务中如何优雅平滑重启?
在生产环境中,服务升级时如何确保不中断当前请求并应用新代码是一个挑战。本文介绍了如何使用 Go 语言的 `endless` 包实现服务的优雅重启,确保在不停止服务的情况下完成无缝升级。通过示例代码和测试步骤,详细展示了 `endless` 包的工作原理和实际应用。
281 3
|
JSON Go UED
Go Web服务中如何优雅关机?
在构建 Web 服务时,优雅关机是一个关键的技术点,它确保服务关闭时所有正在处理的请求都能顺利完成。本文通过一个简单的 Go 语言示例,展示了如何使用 Gin 框架实现优雅关机。通过捕获系统信号和使用 `http.Server` 的 `Shutdown` 方法,我们可以在服务关闭前等待所有请求处理完毕,从而提升用户体验,避免数据丢失或不一致。
199 1
|
XML 安全 PHP
PHP与SOAP Web服务开发:基础与进阶教程
本文介绍了PHP与SOAP Web服务的基础和进阶知识,涵盖SOAP的基本概念、PHP中的SoapServer和SoapClient类的使用方法,以及服务端和客户端的开发示例。此外,还探讨了安全性、性能优化等高级主题,帮助开发者掌握更高效的Web服务开发技巧。

热门文章

最新文章