Web服务(三)httpd参数配置以及编译安装

简介:

一、参数配置

13、https协议的实现

实现https之前需要先了解openssl;需要实现CA机制。openssl详情请参考Openssl、加密、解密和私有CA的实现过程

SSL握手要完成的工作:

   交换协议版本号

   选择双方都支持的加密方式

   对两端实现身份验证

   密钥交换

https是二进制格式的协议,监听与tcp:443端口。SSL会话是基于IP地址进行;不支持在基于FQDN的虚拟主机上实现。

下面直接来配置https:

CA这里直接使用的一台机器当CA和客户端;


创建CA和客户端证书签署

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#创建CA;详细过程就不贴了;以下是步骤
[Linux85] #cd /etc/pki/CA/
[Linux85] #(umask 077;openssl genrsa -out private/cakey.pem 2048)
[Linux85] #openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 365
[Linux85] #touch index.txt serial crlnumber
[Linux85] #echo 00 > serial
                              
#生成客户端证书以及CA签署;CA与客户端都是同一台机器;也可以分为两台
[Linux85] #mkdir /etc/httpd/ssl
[Linux85] #cd /etc/httpd/ssl
[Linux85] #(umake 077;openssl genrsa -out httpd.key 1024)
[Linux85] #openssl req -new -key httpd.key -out httpd.csr
[Linux85] #openssl ca -in httpd.csr -out httpd.crt -days 365
                           
#结束后把CA证书安装到windows中


安装mod_ssl模块和更改主配置文件实现支持ssl协议:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
[Linux85] #yum -y install mod_ssl
[Linux85] #rpm -ql mod_ssl
/ etc / httpd / conf.d / ssl.conf
/ usr / lib64 / httpd / modules / mod_ssl.so
/ var / cache / mod_ssl
/ var / cache / mod_ssl / scache. dir
/ var / cache / mod_ssl / scache.pag
/ var / cache / mod_ssl / scache.sem
[Linux85] #
                                                                                                                                                                                                                                                              
#配置
[Linux85] #vim ssl.conf
#定位ServerName;开启下面两项
# General setup for the virtual host, inherited from global configuration
DocumentRoot  "/var/www/html"
ServerName www.soul.org: 443
                                                                                                                                                                                                                                                              
#下面两项关于密钥和证书文件的路径
#   Server Certificate:
# Point SSLCertificateFile at a PEM encoded certificate.  If
# the certificate is encrypted, then you will be prompted for a
# pass phrase.  Note that a kill -HUP will prompt again.  A new
# certificate can be generated using the genkey(1) command.
SSLCertificateFile  / etc / httpd / ssl / httpd.crt
#   Server Private Key:
#   If the key is not combined with the certificate, use this
#   directive to point at the key file.  Keep in mind that if
#   you've both a RSA and a DSA private key you can configure
#   both in parallel (to also allow the use of DSA ciphers, etc.)
SSLCertificateKeyFile  / etc / httpd / ssl / httpd.key
                                                                                                                                                                                                                                                         
[Linux85] #service httpd start
[Linux85] #ss -tunl | grep 443
tcp    LISTEN      0       128                    ::: 443                   ::: *  
#查看443端口以正常启动


提供主页文件

1
2
3
4
[Linux85] #vim /var/www/html/index.html
This  is  https test page!
#
把CA证书安装至windows中

wKioL1M_r3GTdyySAAF5NvVNiB4526.jpg

测试访问正常;https协议正常使用。



14、配置httpd的status页面

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
[Linux85] #httpd -M | grep status
#下述这个模块如存在即可配置
  status_module (shared)
Syntax OK
[Linux85] #
                                                                                                                                                                                                
[Linux85] #vim /etc/httpd/conf/httpd.conf
#定位status;找到如下项开启
# Allow server status reports generated by mod_status,
# with the URL of http://servername/server-status
# Change the ".example.com" to match your domain to enable.
#
<Location  / server - status>
     SetHandler server - status
     AuthType    Basic             #为了确保安装;这里做了认证
     AuthName     "server status" 
     AuthUserFile  "/etc/httpd/conf/.htpasswd"
     Require valid - user
     Order deny,allow
     Deny  from  all
     Allow  from  172.16 . 254.28     #限定只能改IP访问该页面
< / Location>

wKiom1M_tP7wGPakAAF6_adF_WY121.jpg

wKioL1M_tOOSjKwVAAJEuPc2nCs099.jpg

测试访问需要验证;并且可以显示详细的httpd服务器信息。


15、利用mod_deflate模块压缩页面优化传输速度

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
[Linux85] #httpd -M | grep deflate
  deflate_module (shared)
Syntax OK
[Linux85] #
#
#主配置文件内没有定义;这里自己新建配置文件
[Linux85] #vim /etc/httpd/conf.d/deflate.conf
SetOutputFilter DEFLATE
                                                                                                                                   
AddOutputFilterByType DEFLATE text / plain
AddOutputFilterByType DEFLATE text / html
AddOutputFilterByType DEFLATE application / xhtml + xml
AddOutputFilterByType DEFLATE text / xml
AddOutputFilterByType DEFLATE application / xml
AddOutputFilterByType DEFLATE application / x - javascript
AddOutputFilterByType DEFLATE text / javascript
AddOutputFilterByType DEFLATE text / css
                                                                                                                                   
# Level of compression (Highest 9 - Lowest 1)
DeflateCompressionLevel  9
                                                                                                                                                            
# Netscape 4.x has some problems.
BrowserMatch ^Mozilla / 4  gzip - only - text / html
                                                                                                                                                            
# Netscape 4.06-4.08 have some more problems
BrowserMatch ^Mozilla / 4 \. 0 [ 678 ] no - gzip
                                                                                                                                                        
# MSIE masquerades as Netscape, but it is fine
BrowserMatch \bMSI[E] !no - gzip !gzip - only - text / html
                                                                                                                                 
[Linux85] #service httpd restart
Stopping httpd:                                            [  OK  ]
Starting httpd:                                            [  OK  ]
[Linux85] #

wKiom1M_vH6Bk11uAAKye7Vf8UE436.jpg

测试成功。该功能并不是所有状态都适合;需要合理的判断。



二、httpd-2.4的编译安装


由于这篇一直未完成;后续的博客都以完成;且其中以含有2.4版本的编译安装。这里就不再赘述了。连接:Linux下编译安装LAMP并分离为多台服务器



本文转自Mr_陈 51CTO博客,原文链接:http://blog.51cto.com/chenpipi/1390923,如需转载请自行联系原作者
相关文章
|
2月前
|
开发框架 监控 安全
Windows Defender 导致 Web IIS 服务异常停止排查
某日凌晨IIS服务异常停止,经查为Windows Defender安全补丁KB2267602触发引擎更新,导致系统资源波动,进而引发应用池回收。确认非人为操作,系统无重启。通过分析日志与监控,定位原因为Defender更新后扫描加重负载。解决方案:将IIS及.NET相关路径添加至Defender排除列表,避免业务影响。
342 116
|
2月前
|
算法 Java Go
【GoGin】(1)上手Go Gin 基于Go语言开发的Web框架,本文介绍了各种路由的配置信息;包含各场景下请求参数的基本传入接收
gin 框架中采用的路优酷是基于httprouter做的是一个高性能的 HTTP 请求路由器,适用于 Go 语言。它的设计目标是提供高效的路由匹配和低内存占用,特别适合需要高性能和简单路由的应用场景。
230 4
|
5月前
|
存储 Linux Apache
在CentOS上配置SVN至Web目录的自动同步
通过上述配置,每次当SVN仓库中提交新的更改时,`post-commit`钩子将被触发,SVN仓库的内容会自动同步到指定的Web目录,从而实现代码的连续部署。
186 16
|
6月前
|
开发框架 JSON 中间件
Go语言Web开发框架实践:路由、中间件、参数校验
Gin框架以其极简风格、强大路由管理、灵活中间件机制及参数绑定校验系统著称。本文详解其核心功能:1) 路由管理,支持分组与路径参数;2) 中间件机制,实现全局与局部控制;3) 参数绑定,涵盖多种来源;4) 结构体绑定与字段校验,确保数据合法性;5) 自定义校验器扩展功能;6) 统一错误处理提升用户体验。Gin以清晰模块化、流程可控及自动化校验等优势,成为开发者的优选工具。
|
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`都是优秀的库,它们各有优缺点。你应该根据你的需求和经验来选择最适合你的工具。希望这个比较可以帮助你做出决策。
342 35
|
6月前
|
缓存 JavaScript 前端开发
鸿蒙5开发宝藏案例分享---Web开发优化案例分享
本文深入解读鸿蒙官方文档中的 `ArkWeb` 性能优化技巧,从预启动进程到预渲染,涵盖预下载、预连接、预取POST等八大优化策略。通过代码示例详解如何提升Web页面加载速度,助你打造流畅的HarmonyOS应用体验。内容实用,按需选用,让H5页面快到飞起!
|
6月前
|
JavaScript 前端开发 API
鸿蒙5开发宝藏案例分享---Web加载时延优化解析
本文深入解析了鸿蒙开发中Web加载完成时延的优化技巧,结合官方案例与实际代码,助你提升性能。核心内容包括:使用DevEco Profiler和DevTools定位瓶颈、四大优化方向(资源合并、接口预取、图片懒加载、任务拆解)及高频手段总结。同时提供性能优化黄金准则,如首屏资源控制在300KB内、关键接口响应≤200ms等,帮助开发者实现丝般流畅体验。
|
前端开发 JavaScript Shell
鸿蒙5开发宝藏案例分享---Web页面内点击响应时延分析
本文为鸿蒙开发者整理了Web性能优化的实战案例解析,结合官方文档深度扩展。内容涵盖点击响应时延核心指标(≤100ms)、性能分析工具链(如DevTools时间线、ArkUI Trace抓取)以及高频优化场景,包括递归函数优化、网络请求阻塞解决方案和setTimeout滥用问题等。同时提供进阶技巧,如首帧加速、透明动画陷阱规避及Web组件初始化加速,并通过优化前后Trace对比展示成果。最后总结了快速定位问题的方法与开发建议,助力开发者提升Web应用性能。

热门文章

最新文章