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,如需转载请自行联系原作者

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
1月前
|
XML JSON 数据安全/隐私保护
Web服务
【10月更文挑战第18天】Web服务
48 9
|
1月前
|
Java API 数据库
构建RESTful API已经成为现代Web开发的标准做法之一。Spring Boot框架因其简洁的配置、快速的启动特性及丰富的功能集而备受开发者青睐。
【10月更文挑战第11天】本文介绍如何使用Spring Boot构建在线图书管理系统的RESTful API。通过创建Spring Boot项目,定义`Book`实体类、`BookRepository`接口和`BookService`服务类,最后实现`BookController`控制器来处理HTTP请求,展示了从基础环境搭建到API测试的完整过程。
48 4
|
1月前
|
XML JSON 安全
Web服务是通过标准化的通信协议和数据格式
【10月更文挑战第18天】Web服务是通过标准化的通信协议和数据格式
150 69
|
14天前
|
Go UED
Go Web服务中如何优雅平滑重启?
在生产环境中,服务升级时如何确保不中断当前请求并应用新代码是一个挑战。本文介绍了如何使用 Go 语言的 `endless` 包实现服务的优雅重启,确保在不停止服务的情况下完成无缝升级。通过示例代码和测试步骤,详细展示了 `endless` 包的工作原理和实际应用。
34 3
|
15天前
|
JSON Go UED
Go Web服务中如何优雅关机?
在构建 Web 服务时,优雅关机是一个关键的技术点,它确保服务关闭时所有正在处理的请求都能顺利完成。本文通过一个简单的 Go 语言示例,展示了如何使用 Gin 框架实现优雅关机。通过捕获系统信号和使用 `http.Server` 的 `Shutdown` 方法,我们可以在服务关闭前等待所有请求处理完毕,从而提升用户体验,避免数据丢失或不一致。
16 1
|
21天前
|
XML 安全 PHP
PHP与SOAP Web服务开发:基础与进阶教程
本文介绍了PHP与SOAP Web服务的基础和进阶知识,涵盖SOAP的基本概念、PHP中的SoapServer和SoapClient类的使用方法,以及服务端和客户端的开发示例。此外,还探讨了安全性、性能优化等高级主题,帮助开发者掌握更高效的Web服务开发技巧。
|
1月前
|
XML JSON 安全
定义Web服务
【10月更文挑战第18天】定义Web服务
62 12
|
1月前
|
安全 编译器 API
探索PHP 8的新特性及其对现代Web开发的影响
【10月更文挑战第5天】随着PHP 8的发布,这门历史悠久的脚本语言重获新生。PHP 8引入了联合类型、命名参数、属性、空安全运算符及JIT编译器等一系列新特性,不仅提升了开发者的编程体验,还增强了PHP在现代Web开发领域的竞争力。本文将详细介绍这些新特性及其对Web开发的影响。例如,联合类型允许函数参数接受多种类型,提高代码灵活性;命名参数则使函数调用更加直观易懂;属性可用于装饰类、方法等,提供额外信息;空安全运算符避免了访问未定义属性时的错误;JIT编译器则显著提升了性能。这些改进共同提升了代码质量和开发效率,巩固了PHP在Web开发中的地位。
22 4
|
1月前
|
前端开发 Java API
JAVA Web 服务及底层框架原理
【10月更文挑战第1天】Java Web 服务是基于 Java 编程语言用于开发分布式网络应用程序的一种技术。它通常运行在 Web 服务器上,并通过 HTTP 协议与客户端进行通信。
26 1
|
1月前
|
应用服务中间件 网络安全 nginx
nginx作为web服务以及nginx.conf详解
nginx作为web服务以及nginx.conf详解
下一篇
无影云桌面