首页 » SEO优化 » php默认ssl协定技巧_在CentOS8或RHEL8上安装带mod_ssl和mod_http2模块的Apache httpd

php默认ssl协定技巧_在CentOS8或RHEL8上安装带mod_ssl和mod_http2模块的Apache httpd

访客 2024-12-09 0

扫一扫用手机浏览

文章目录 [+]

请关注本头条号,每天坚持更新原创干货技能文章。

如需学习视频,请在微信搜索"大众号“智传网优”直接开始自助视频学习

php默认ssl协定技巧_在CentOS8或RHEL8上安装带mod_ssl和mod_http2模块的Apache httpd

1. 序言

php默认ssl协定技巧_在CentOS8或RHEL8上安装带mod_ssl和mod_http2模块的Apache httpd
(图片来自网络侵删)

本文紧张讲解如何在CentOS8或RHEL8上安装带mod_ssl和mod_http2模块的Apache。
如何安装mod_ssl的RHEL8/CentOS 8?如何在RHEL8或CentOS8上安装mod_http2 ?本文将谈论如何安装带有mod_ssl和mod_http2模块的Apache web做事器。
Apache是Apache软件基金会开拓的开源web做事器。
web做事器(HTTP做事器)是一种网络做事,用于通过超文本传输协议(HTTP)在web上向客户机供应内容。

在CentOS8或RHEL8上安装带mod_ssl和mod_http2模块的Apache httpd

在Red Hat Enterprise 8 (RHEL 8)中,Apache HTTP做事器已更新到版本2.4.33,并具有以下新特性。

预配置多处理模块(MPM)suexec许可用户利用的最小UID和GID现在分别是1000和500 (RHEL 7 httpd利用100和100)。
对付设置httpd做事的环境变量,/etc/sysconfig/httpd不再是受支持的接口现在通过mod_http2包支持HTTP/2。
新增模块:mod_proxy_uswsgi、mod_proxy_hcheck、mod_proxy_fdpass、mod_cache_socache、mod_md。
新的子包httpd-filesystem拥有目录。
新的httpd-init.service。
做事更换了%post script来创建自署名的mod_sslkeypair。
mod_auth_kerb模块已经被mod_auth_gssapi模块所取代。

2. 在RHEL8或者CentOS8系统上安装Apache

RHEL8或CentOS8中的Apache Web做事器包称为httpd。
此包及其工具通过运用程序流存储库分发。
利用该命令在RHEL8或CentOS8上安装httpd模块。

sudo yum install @httpd

实行输出:Updating Subscription Management repositories.Updating Subscription Management repositories.Last metadata expiration check: 0:43:01 ago on Sat 29 Dec 2018 09:52:44 AM EAT.Dependencies resolved.Package Arch Version Repository SizeInstalling group/module packages:httpd x86_64 2.4.35-6.el8+2089+57a79027 rhel-8-for-x86_64-appstream-beta-rpms 1.4 Mhttpd-filesystem noarch 2.4.35-6.el8+2089+57a79027 rhel-8-for-x86_64-appstream-beta-rpms 32 khttpd-tools x86_64 2.4.35-6.el8+2089+57a79027 rhel-8-for-x86_64-appstream-beta-rpms 99 kmod_ssl x86_64 1:2.4.35-6.el8+2089+57a79027 rhel-8-for-x86_64-appstream-beta-rpms 127 kmod_http2 x86_64 1.11.3-1.el8+2087+db8dc917 rhel-8-for-x86_64-appstream-beta-rpms 156 kInstalling dependencies:apr x86_64 1.6.3-8.el8 rhel-8-for-x86_64-appstream-beta-rpms 125 kapr-util x86_64 1.6.1-6.el8 rhel-8-for-x86_64-appstream-beta-rpms 105 kredhat-logos-httpd noarch 80.5-1.el8 rhel-8-for-x86_64-baseos-beta-rpms 24 kInstalling weak dependencies:apr-util-bdb x86_64 1.6.1-6.el8 rhel-8-for-x86_64-appstream-beta-rpms 25 kapr-util-openssl x86_64 1.6.1-6.el8 rhel-8-for-x86_64-appstream-beta-rpms 27 kInstalling module profiles:httpd/defaultEnabling module streams:httpd 2.4Transaction SummaryInstall 10 PackagesTotal download size: 2.1 MInstalled size: 5.7 MIs this ok [y/N]: y

这将安装以下httpd包。

httpd: Apache HTTP web做事器。
httpd-filesystem: 包含Apache HTTP做事器的基本目录布局,包括目录的精确权限。
httpd-tools: 包含可以与Apache HTTP做事器一起利用的工具mod_http2: Apache上的2个协议(h2+h2c)mod_ssl: 通过安全套接字层(SSL)和传输层安全性(TLS)协议为Apache Web做事器供应强大的加密。
以及其它的依赖关系 – apr

默认情形下,httpd做事从以下位置读取配置。

/etc/httpd/conf/httpd.conf – 这是紧张的httpd配置文件。
/etc/httpd/conf.d/ – 这是主配置文件中包含的配置文件的赞助目录。
您可以将类似于VirtualHosts的配置文件放在这个目录中。
/etc/httpd/conf.modules.d/ – 包含加载RHEL中打包的动态模块的配置文件。
首先处理此目录中的配置文件。
/usr/lib64/httpd/modules/ – 带有httpd模块的目录。

3. 在RHEL8或CentOS 8上管理httpd做事

本节将描述如何管理Apache HTTP做事状态——启动、停滞、重启和检讨当前状态。

3.1 开启httpd做事:

sudo systemctl start httpd.service

利用下面的命令,使httpd做事在启动时自动启动:

sudo systemctl enable httpd.service

或者

利用一条命令设置httpd做事开机自启动及立即启动。

sudo systemctl enable --now httpd.service

确认做事是否设置为开机启动。

sudo systemctl is-enabled httpd.service

enabled

3.2 停滞httpd做事

要停滞正在运行的httpd做事,请输入以下命令:

sudo systemctl stop httpd.service

要防止做事在启动时自动启动,请键入:

sudo systemctl disable httpd.service

3.3 重启httpd做事

有两个重新启动httpd做事的选项。

停滞正在运行的httpd做事,并立即重新启动它—这在安装或删除动态加载的模块(如PHP)之后非常有用。

sudo systemctl restart httpd.service重新加载配置而不影响活动要求—正在运行的httpd做事将只重新加载其配置文件,当前正在处理的所有要求将连续利用旧的配置。

sudo systemctl reload httpd.service

要检讨配置中可能涌现的缺点,输入:

sudo apachectl configtest

Syntax OK

如果配置文件没有缺点,您该当得到Syntax OK的输出结果。

4. 在RHEL8或者CentOS8系统上加载SSL模块

我们安装了mod_ssl模块,但是在利用它之前,必须利用LoadModule指令加载模块。

在RHEL8或者CentOS8系统上加载SSL模块

要加载mod_ssl DSO,请在httpd.conf配置文件的末端添加下面一行。

LoadModule ssl_module modules/mod_ssl.so

见下面截图。

在RHEL8或者CentOS8系统上加载SSL模块

加载模块后重新启动Web做事器以重新加载配置。

sudo systemctl restart httpd

默认的SSL配置文件/etc/httpd/conf.d/ssl.conf。
例如,您可以通过修正这个文件中的SSL Protocol指令来禁用SSL版本2和SSL版本3。

SSLProtocol all -SSLv2 -SSLv3

下面一行将禁用所有的SSL和TLS协议除了TLS 1和以上

SSLProtocol -all +TLSv1 +TLSv1.1 +TLSv1.2

变动之后重新启动Apache守护进程。

sudo systemctl restart httpd

要检讨启用或禁用了哪些版本的SSL和TLS,可以利用openssl s_client -connect命令。
openssl s_client -connect命令。
openssl s_client -connect hostname:port -protocol

openssl s_client -connect <hostname>:<port> -<protocol>

可选的协议-ssl2, -ssl3,-tls1,-tls1_1,-tls1_2 等等。

查看以下案例

# Test if SSLv3 is enabled$ openssl s_client -connect localhost:443 -ssl3# Test if TLSv1.2 is enable$ openssl s_client -connect localhost:443 -tls1_2

输出类似的结果:

# openssl s_client -connect localhost:443 -tls1_2CONNECTED(00000004)depth=1 C = US, O = Unspecified, OU = ca-4688871391028164607, CN = rhel8.local, emailAddress = root@rhel8.localverify error:num=19:self signed certificate in certificate chain---Certificate chain 0 s:C = US, O = Unspecified, CN = rhel8.local, emailAddress = root@rhel8.local i:C = US, O = Unspecified, OU = ca-4688871391028164607, CN = rhel8.local, emailAddress = root@rhel8.local 1 s:C = US, O = Unspecified, OU = ca-4688871391028164607, CN = rhel8.local, emailAddress = root@rhel8.local i:C = US, O = Unspecified, OU = ca-4688871391028164607, CN = rhel8.local, emailAddress = root@rhel8.local---Server certificate-----BEGIN CERTIFICATE-----MIIErTCCApWgAwIBAgIIfoNXRr0/654wDQYJKoZIhvcNAQELBQAwezELMAkGA1UEBhMCVVMxFDASBgNVBAoMC1Vuc3BlY2lmaWVkMR8wHQYDVQQLDBZjYS00Njg4ODcxMzkxMDI4MTY0NjA3MRQwEgYDVQQDDAtyaGVsOC5sb2NhbDEfMB0GCSqGSIb3DQEJARYQcm9vdEByaGVsOC5sb2NhbDAeFw0xODEyMjkwNzQ3NDFaFw0yMDAxMDMwOTI3NDFaMFoxCzAJBgNVBAYTAlVTMRQwEgYDVQQKDAtVbnNwZWNpZmllZDEUMBIGA1UEAwwLcmhlbDgubG9jYWwxHzAdBgkqhkiG9w0BCQEWEHJvb3RAcmhlbDgubG9jYWwwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDCXG/tlwvg8jf7Aa+rBXt8V0ZV5krqXnkF3N2xccKjJLKRY6psny0rdaf7qNF9fjNPTNmP6PdqSvpxvhG0gjoVlo0PU79M7sq74esx8A+UdSqPkqDfnrszBthb+PYBj0yQu88/0aS6GIPWbeWF235ZuRIAYdin92ZmcXqsafX1qGlErgZN+UrisrVPZFgM2rKWMnuIxOmSeqwdsrHGIlv2lROipNxEosqqqBXAVS3VX7Q8yMaGT3GgU6Nf8TbT84lnMDsYj4bgtlh1Ry+ck8jAmuN3rujvgCsTWQ1v4s4m5/p/iq3aGFOyIq8z2qdCA24leYhSXpPrFqkKXIr7UkTtAgMBAAGjVjBUMA4GA1UdDwEB/wQEAwIFoDAJBgNVHRMEAjAAMBYGA1UdEQQPMA2CC3JoZWw4LmxvY2FsMB8GA1UdIwQYMBaAFOwi+L9TpxZTDY3TYF29uCq5mW7MMA0GCSqGSIb3DQEBCwUAA4ICAQAWgBjsNHhcI9dAAs1cuhmox6j7EYS2nGDe+BVlMdtETVBbSfUV27L+9G3NF9XMOjrUmX67mBqEsGwLiyUaDSFS8JgcJ1zw0V2Q0k8PLgnBuGKOwkKvPWGPtB2GGJCTBbp0WCByPNsufyIG8+7GHov0StG6s8nYUSSjHHQcZpx42BybuLmGt6GvSgN+TMPJl5mApPHNdpUrrf8DWyyP2yAgoB6/XSy3rafBP+1WE38Cs+iHgFoTH05iFtPtMVF1/oLVA4jDfU0T4thqoHFLNwAWYPts6dOgOwT9rZe8e0FtbXCd4PJ+3RZHB+JV+IPVF6nF+GVXxr0jT/Fu6+15dHVWbdZUWzscdSV8lae0vyhpjQRgUdISqbVhmWt1ruRTgZ443fj6NgrFeht0X3pS1WnHyxMT3Aj6nAZnInlZoaX0xNdPE31ZsgWn6yoFXVEWlVs50xZ+31V+2/LDLQiqVYMRoid1uRZxAp4X80AMUfqcv4g3/ebLhLsdStCVT7YASrJ/a8fRNNFEJhHOlPaqVsaerBvKrviyjocEQsPzX2cKoP1RlmDMUoDqFHUo8jIFsWAC2YKe0rsNTSwZTYUHZuc+FzRyKKmpsIrzFMNlgZ3hevqQPJDRyyB+Nru6mxqSn6L36PbdfYkWOWEDmllnCTAATopYBtmegsYncFRNnEnBBg==-----END CERTIFICATE-----subject=C = US, O = Unspecified, CN = rhel8.local, emailAddress = root@rhel8.localissuer=C = US, O = Unspecified, OU = ca-4688871391028164607, CN = rhel8.local, emailAddress = root@rhel8.local.......

配置SSL密钥和证书的指令如下:

SSLCertificateFile /etc/pki/tls/certs/server.crtSSLCertificateKeyFile /etc/pki/tls/private/server.key

配置防火墙如果正在运行firewalld做事,请许可端口80和443。

sudo firewall-cmd --add-service={http,https} --permanent

success

sudo firewall-cmd --reload

success

firewall-cmd --list-services

cockpit dhcpv6-client http https ssh

5. 在RHEL8或者CentOS8系统上加载HTTP/2模块- mod_http2

通过加载mod_http2模块来支持HTTP/2

在RHEL8或者CentOS8系统上加载HTTP/2模块- mod_http2

LoadModule http2_module modules/mod_http2.so

也添加下面的协议指令

Protocols h2 h2c http/1.1

协议指令参数的含义:h2 – 指示Apache在SSL/TLS上支持HTTP/2协议h2c – 指示Apache通过TCP支持HTTP/2http/1.1 – 如果客户端不接管HTTP/2,那么通过HTTP/1.1做事要求

重新启动Apache web做事器以重新加载配置。

sudo systemctl restart httpd

6. 在RHEL8或者CentOS8系统上设置虚拟主机

Apache HTTP做事器有一个内置的虚拟主机,许可根据要求的IP地址、主机名或端供词给信息。
将您的虚拟主机配置文件放在/etc/httpd/conf.d/目录中。

举例:

sudo vim /etc/httpd/conf.d/example.conf

输出以下类似的结果:

<VirtualHost :80> ServerAdmin admin@example.com DocumentRoot "var/www/html/example" ServerName linuxrumen.com ServerAlias www.linuxrumen.com ErrorLog "/var/log/httpd/example-error_log" CustomLog "/var/log/httpd/example-access_log" common</VirtualHost>

ServerName必须是分配给承载站点的做事器的有效DNS名称。

重新启动httpd做事以激活新创建的虚拟主机。

sudo systemctl restart httpd

7. 总结

通过本文,您该当可以学习到如何在CentOS8或者RHEL8系统上安装和配置带mod_ssl和mod_http2模块的Apache httpd做事了吧?

本文已同步至博客站,尊重原创,转载时请在正文中附带以下链接:https://www.linuxrumen.com/rmxx/1490.html

点击理解更多,快速查看更多的技能文章列表。

标签:

相关文章

phpdate显示格局技巧_PHP date 函数

PHP date( 函数PHP date( 函数可把韶光戳格式化为可读性更好的日期和韶光。韶光戳是一个字符序列,表示一定的事宜...

SEO优化 2024-12-10 阅读0 评论0