如何在社交网站上做视频推广方案,深圳企业网站制作公司怎样,高密建设局网站,asp300源码第五章 web服务器
第一节
DNS#xff1a;对域名进行解析#xff0c;查询对应的地址
1.1 web服务器简介
www是world wide web的缩写#xff0c;也就是全球信息广播的意思
1.2.网址及HTTP简介
web服务器提供的这些数据大部分都是文件#xff0c;那么我们需要在服务器端…第五章 web服务器
第一节
DNS对域名进行解析查询对应的地址
1.1 web服务器简介
www是world wide web的缩写也就是全球信息广播的意思
1.2.网址及HTTP简介
web服务器提供的这些数据大部分都是文件那么我们需要在服务器端先将数据文件写好并且放置在某个特殊的目录下面这个目录就是我们整个网站的首页在redhat中这个目录默认在 /var/www/html 。浏览器是通过你在地址栏中输入你所需要的网址来取得这个目录的数据的。
URLUniform Resource Locator统一资源定位符对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示是互联网上标准资源的地址。
网址格式协议://主机或主机名[:port]/目录资源,路径
浏览器常支持的协议有http、https、ftp等。
主机地址或者主机名主机地址就是服务器在因特网所在的IP地址。如果是主机名的话那么就需要域名解析了。
端口号porthttp为80https为443 IANA互联网数字分配机构 0-1023众所周知永久地分配给固定的应用程序使用特权端口只有管理员有权限启用并让进程监听 1024-41951亦为注册端口但要求不是特别严格分配给程序注册为某应用使用3306/TCP 41952-60000客户端程序随机使用的端口动态端口或私有端口
1.3.http请求方法
在http通信中每个http请求报文都包含一个方法用以告诉web服务器端需要执行哪些具体的动作这些动作包括获取指定web页面、提交内容到服务器、删除服务器上资源文件等。
状态代码由三位数字组成第一个数字定义了响应的类别且有五种可能取值。
状态码范围 作用描述 100 - 199 用于指定客户端相应的某些动作 200 - 299 用于表示请求成功 300 - 399 用于己经移动的文件并且常被包含在定位头信息中指定新的地址系信息 400 - 499 用于指出客户端的错误 500 - 599 用于指出服务端的错误
1.4.常见状态代码、状态描述的说明如下
200 OK客户端请求成功
收到数据但是数据有问题 400 Bad Request客户端请求有语法错误不能被服务器所理解 401 Unauthorized请求未经授权这个状态代码必须和 WWW-Authenticate 报头域一起使用 403 Forbidden服务器收到请求但是拒绝提供服务 404 Not Found请求资源不存在举个例子输入了错误的URL 服务器内部的问题 500 Internal Server Error服务器发生不可预期的错误 503 Server Unavailable服务器当前不能处理客户端的请求一段时间后可能恢复正常 1.5.http协议请求的工作流程 HTTP默认端口80和8080
1终端客户在web浏览器地址栏输入访问地址域名售卖 2web浏览器请求DNS服务器把域名www.ceshi.com解析成web服务器的IP地址 3web浏览器将端口号默认是80从访问地址URL中解析出来 4web浏览器通过解析后的ip地址及端口号与web服务器之间建立一条TCP连接 5建立TCP连接后web浏览器向web服务器发送一条HTTP请求报文 6web服务器响应并读取浏览器的请求信息然后返回一条HTTP响应报文。7web服务器关闭HTTP连接关闭TCP连接web浏览器显示访问的网站内容到屏幕上。第二节 web服务器的类型
2.1 静态页面和动态网页
静态页面
静态页面是指内容固定不变的网页。它的内容在服务器上是以 HTML 文件的形式存在当用户请求访问时服务器直接将预先存储好的 HTML 文件发送给用户的浏览器进行显示。
例如一个简单的个人简历网页其中的文字、图片、布局等在创建完成后就不会再发生变化这就是静态页面。
静态页面的优点包括加载速度快因为不需要服务器进行复杂的处理对服务器的资源要求较低易于维护和部署。
但是其缺点也很明显比如不易更新和修改内容每次修改都需要重新编辑 HTML 文件缺乏交互性不能根据用户的操作实时动态地显示不同的内容。
动态页面
动态页面则不同它的内容不是固定不变的而是根据用户的请求、数据库中的数据以及特定的程序逻辑在服务器端实时生成的。
比如一个电商网站的商品列表页面当数据库中的商品信息发生变化时页面能够实时显示最新的商品信息。
动态页面的优点是具有高度的交互性和灵活性能够根据用户的操作和不同的条件显示个性化的内容方便内容管理和更新无需手动修改每个页面。
然而动态页面也存在一些缺点例如加载速度相对较慢因为服务器需要进行计算和处理对服务器的性能要求较高开发和维护成本也相对较高。
2.2静态页面资源特征
静态页面资源具有以下特性
1. 内容固定 - 一旦创建完成其显示的文本、图像、布局等元素就不会自行改变。 - 例如一个介绍历史事件的静态网页无论何时访问其描述的内容和呈现方式始终保持一致。
2. 快速加载 - 由于不需要服务器进行额外的计算和处理直接将预先准备好的 HTML 文件发送给浏览器。 - 比如一个只有简单文字和少量图片的静态博客页面通常能够迅速加载出来。
3. 低服务器资源消耗 - 服务器只需响应请求并传输文件对服务器的 CPU、内存等资源占用较少。 - 大量用户同时访问静态页面时服务器的压力相对较小。
4. 易于缓存 - 浏览器和代理服务器可以更有效地对静态页面进行缓存。 - 下次用户再次访问相同的页面时可以直接从本地缓存中获取进一步加快加载速度。
5. 简单维护 - 主要是对 HTML、CSS 和 JavaScript 文件的直接编辑。 - 例如修改页面的颜色、字体或添加新的图片只需修改相应的文件即可。
6. 安全性较高 - 因为没有与服务器端的动态交互减少了潜在的安全漏洞。 - 降低了遭受诸如 SQL 注入等攻击的风险。
7. 可预测性强 - 每次访问的结果都是相同的便于测试和质量保证。 - 开发人员能够准确地知道页面在各种情况下的表现。
2.4 nginx的搭建方式
LAMP 、LNMP
以下是使用 Nginx 搭建 LAMPLinux Apache MySQL PHP和 LNMPLinux Nginx MySQL PHP环境的一般步骤LAMP 环境搭建
1. 安装 Linux 操作系统如 CentOS、Ubuntu 等。
2. 安装 Apache 服务器- 在 CentOS 上可以使用命令 yum install httpd 安装。- 在 Ubuntu 上可以使用命令 apt-get install apache2 安装。
3. 安装 MySQL 数据库- CentOSyum install mysql-server- Ubuntuapt-get install mysql-server
4. 安装 PHP- CentOSyum install php- Ubuntuapt-get install php
5. 配置 Apache 以支持 PHP- 在 Apache 的配置文件中如 httpd.conf添加对 PHP 的支持模块。LNMP 环境搭建
1. 同样先安装好 Linux 操作系统。
2. 安装 Nginx 服务器- CentOSyum install nginx- Ubuntuapt-get install nginx
3. 安装 MySQL 数据库步骤与 LAMP 中的相同。
4. 安装 PHP- 同时需要安装 PHP-FPMFastCGI 进程管理器以便与 Nginx 协同工作。
5. 配置 Nginx 以支持 PHP- 在 Nginx 的配置文件如 nginx.conf中设置 PHP 的处理规则将 PHP 请求转发给 PHP-FPM 处理。需要注意的是在实际搭建过程中可能会遇到各种依赖问题和配置错误需要根据具体的错误提示进行解决。
例如在安装 MySQL 时可能会遇到设置 root 密码的提示需要牢记密码以便后续使用。在配置 Nginx 时可能需要根据服务器的实际 IP 地址和域名进行相应的修改。2.5 web服务器基本配置
nginx服务器主配置文件/etc/nginx/nginx.conf子配置文件/etc/nginx/conf.d/*.conf请求目录文件位置/var/share/nginx/htmlapache服务器主配置文件/etc/httpd/conf/httpd.conf子配置文件/etc/httpd/conf.d/请求文件位置/var/www/html防火墙和关闭 selinuxSecurity-Enhanced Linux防火墙。 systemctl stop firewalld 和 setenforce 0 最后查看一下防火墙是否关闭 systemctl status firewalld
systemctl stop firewalld ##关闭防火墙
systemctl disabled firewalld ##关闭防火墙开机自启
systemctl status firewalld ##查看防火墙是否关闭setenforce 0 ##临时关闭selinux
vim /etc/selinux/configSELINUXdisabled ##永久关闭1.下载nginx [rootserver]# yum install nginx -y2.开启服务 [rootserver]# systemctl start nginx3.查找uginx的配置文件 [rootserver]# rpm -ql nginx(找.conf)tree /etc/nginx #查看树形目录4.编辑 [rootserver]# vim /etc/nginx/nginx.conf#nginx服务配置文件nginx.conf的结构
#############全局配置无{}标志############
user nginx; #进程所属用户
worker_processes auto; #线程数量CPU核心数(双核4线程可以设置为4)
error_log /var/log/nginx/error.log; #错误日志文件路径
pid /run/nginx.pid; #nginx pid文件位置
include /usr/share/nginx/modules/*.conf; #导入功能模块配置文件
#######################################################
##################性能配置(有{}标志)############
events {worker_connections 1024; #tcp连接数
}
########################################################
##################http模块配置(有{}标志)############
http { #http区块开始log_format main $remote_addr - $remote_user [$time_local] $request $status $body_bytes_sent $http_referer $http_user_agent $http_x_forwarded_for; #日志显示格式定义access_log /var/log/nginx/access.log main; #访问日志文件位置
不需要管以下这个
sendfile on; #开启高效文件传输
tcp_nopush on; #性能优化参数
tcp_nodelay on; #性能优化参数
keepalive_timeout 65; #持久连接或超时时间
types_hash_max_size 4096; #性能优化参数 include /etc/nginx/mime.types; #可解析的静态资源类型
default_type application/octet-stream;include /etc/nginx/conf.d/*.conf; #加载子配置文件server { #server区块开始就相当于一个虚拟主机listen 80;listen [::]:80; server_name _; #服务名root /usr/share/nginx/html; #主页存放路径include /etc/nginx/default.d/*.conf; #子配置文件路径error_page 404 /404.html; #404错误的返回页面location /404.html { #location 定义用户请求的uri,并返回相应的资源文件}error_page 500 502 503 504 /50x.html; #5xx状态返回的页面location /50x.html {}
}
}补充
看nginx是否在运行 [rootserver]# ps -aux | grep nginx
总结结束进程可以stop该进程也可以rm这个进程文件
这里以nginx.pid举例
[rootserver]# kill -9 1991或者
[rootserver]# rm /run/nginx.pid
index.html是默认的可以不写第三节 案例Nginx
案例一多ip访问多网站
网站ip地址主机位为100设置目录首页为/www/ip/100网页内容为this is 100
网站ip地址主机位为200设置目录首页为/www/ip/200网页内容为this is 200
ip -a 查看网卡信息
rounte -n / ip route show ##查看网关等信息1、添加IP地址
[rootlocalhost ~]# nmcli connection modify ens33 ipv4.address 192.168.84.100/24 ipv4.gateway 192.168.84.2 ipv4.dns 114.114.114.114 ipv4.method manual autoconnect yes
[rootlocalhost ~]# nmcli connection modify ens33 ipv4.addresses 192.168.84.200/24
[rootlocalhost ~]# nmcli connection up ens332、创建网页根目录定义网页内容
[rootlocalhost ~]# mkdir -pv /www/ip/{100,200}
[rootlocalhost ~]# echo this is 100 /www/ip/100/index.html
[rootlocalhost ~]# echo this is 200 /www/ip/200/index.html3、新建文件写入配置
[rootlocalhost ~]# vim /etc/nginx/conf.d/test1.conf
server {listen 192.168.84.100:80;root /www/ip/100;location / {}
}
server {listen 192.168.84.200:80;root /www/ip/200;location / {}
[rootlocalhost ~]# systemctl restart nginx4、检查结果
[rootlocalhost ~]# curl 192.168.84.100
this is 100
[rootlocalhost ~]# curl 192.168.84.200
this is 200
案例二基于不同端口访问网站
使用web服务器默认端口的网站设置网站首页目录位置/www/port/80网页内容为the port is 80
建立一个使用1000端口的网站设置网站首页目录位置/www/port/1000网页内容为the port is 1000
1、添加IP地址
[rootlocalhost ~]# nmcli connection modify ens33 ipv4.address 192.168.84.100/24 ipv4.gateway 192.168.84.2 ipv4.dns 114.114.114.114 ipv4.method manual autoconnect yes
[rootlocalhost ~]# nmcli connection up ens332、创建网页根目录定义网页内容
[rootlocalhost ~]# mkdir -pv /www/port/{80,1000}
[rootlocalhost ~]# echo the port is 80 /www/port/80/index.html
[rootlocalhost ~]# echo the port is 1000 /www/port/1000/index.html3、新建文件写入配置
[rootlocalhost ~]# vim /etc/nginx/conf.d/test2.conf
server {listen 192.168.84.100:80;root /www/port/80;location / {}
}
server {listen 192.168.84.100:1000;root /www/poort/1000;location / {}
[rootlocalhost ~]# systemctl restart nginx4、检查结果
[rootlocalhost ~]# curl 192.168.84.100
the port is 80
[rootlocalhost ~]# curl 192.168.84.100:1000
the port is 1000
第四节 搭建静态网站–基于https协议
1.简介
HTTP协议以明文方式发送内容不提供任何方式的数据加密; 为了解决HTTP协议的这一缺陷需要使用另一种协议安全套接字层超文本传输协议HTTPS;
HTTPS全称Hyper Text Transfer Protocol over Secure Socket Layer 或 Hypertext Transfer Protocol Secure超文本传输安全协议是以安全为目标的HTTP通道。HTTPS并不是一个新协议而是HTTPSSL(Secure Sockets Layer — 安全套接层)TLS。原本HTTP先和TCP假定传输层是TCP协议直接通信而加了SSL后就变成HTTP先和SSL通信再由SSL和TCP通信相当于SSL被嵌在了HTTP和TCP之间。
SSL协议分为两层
SSL记录协议 SSL Record Protocol它建立在可靠的传输协议如TCP之上为高层协议提供数据封装、压缩、加密等基本功能。SSL握手协议SSL Handshake Protocol它建立在SSL记录协议之上用于在实际的数据传输开始前通讯双方进行身份认证、协商加密算法、交换加密密钥等。
SSL协议提供的服务
1认证用户和服务器确保数据发送到正确的客户机和服务器 2加密数据以防止数据中途被窃取 3维护数据的完整性确保数据在传输过程中不被改变
2.https协议加密所使用的算法
2.1 Hash算法常用在不可还原的密码存储、信息完整性校验等 常见的HASH算法MD2、MD4、MD5、HAVAL、SHA、SHA-1、HMAC、HMAC-MD5、HMACSHA1。
2.2 共享密钥加密对称密钥加密加密和解密使用相同密钥。 对称加密算法DES、3DES、DESX、Blowfish、IDEA、RC4、RC5、RC6和AES。
2.3公开密钥加密非对称密钥加密公开密钥加密使用一对非对称的密钥。一把叫做私有密钥一把叫做公开密钥。 常见的非对称加密算法RSA、ECC移动设备用、Diffie-Hellman、El Gamal、DSA数字签名用。
3.TLS完整的通信流程
第一阶:段客户端端申请建立https连接第二阶段客户端和服务器确认加密版本,加密套件第三阶段:证书发送验证 客户端验证证书取出公钥用公钥加密生成的对称秘钥发送个服务器通知改变加密信息传递第四阶段服务收到消息用私钥解密取确认对称秘钥通知客户端ssl通道建立完成第五阶段客户端和服务端可以通过加密通道开始数据通信第六阶段客户端断开连接#key是私钥文件
#crt是由证书颁发机构CA签名后的证书或者是开发者自签名的证书包含证书持有人的信息持有人的公钥以及签署者的签名等信息(第一种) [rootlocalhost certs]# make jiami.crt
(第二种) #openssl req -newkey rsa:4096 -nodes -sha256 -keyout haha.key -x509 -days 365 -out haha.crt
[rootwww certs]# openssl genrsa -aes128 2048 openlab.key(第三种) #openssl req -utf8 -new -key openlab.key -x509 -days 365 -out openlab.crt
4.静态https网站搭建
1. 配置网络接口与 IP 地址- 使用 nmcli connection modify ens33 ipv4.addresses 192.168.84.110/24 为网络接口 ens33 配置 IPv4 地址。- 通过 nmcli connection up ens33 激活网络连接。2. 创建网站目录与文件- 使用 mkdir -p /www/https 创建网站的目录。- 利用 echo this is https /www/https/index.html 创建网站的默认页面文件 index.html 并写入内容。3. 生成 SSL 证书和私钥- 通过 openssl genrsa -out https.key 生成私钥 https.key 。- 执行 openssl req -utf8 -new -key https.key -x509 -days 100 -out https.crt 基于私钥生成自签名的 SSL 证书 https.crt 。4. 配置 Nginx 服务器- 使用 vim /etc/nginx/conf.d/test_https.conf 编辑 Nginx 的配置文件。- 在配置文件中设置服务器监听的 IP 地址和端口、网站根目录、SSL 证书和私钥的路径等。5. 测试网站- 使用 curl -k https://192.168.84.110 命令访问网站验证配置是否成功。这些步骤共同构成了创建基于 HTTPS 的静态网站的主要过程确保网站能够通过安全的 HTTPS 协议正常访问并提供指定的静态内容。 具体操作命令
1、添加ip地址
[rootlocalhost ~]# nmcli connection modify ens33 ipv4.addresses 192.168.84.110/24
[rootlocalhost ~]# nmcli connection up ens33
连接已成功激活D-Bus 活动路径/org/freedesktop/NetworkManager/ActiveConnection/32、创建网页根目录定义网页内容
[rootlocalhost ~]# mkdir -p /www/https
[rootlocalhost ~]# echo this is https /www/https/index.html3、生成lls证书和私钥
[rootlocalhost ~]# cd /etc/pki/tls/certs/
[rootlocalhost certs]# ls
ca-bundle.crt ca-bundle.trust.crt[rootlocalhost certs]# openssl genrsa -out https.key #生成私钥https.key 使用 openssl 生成一个 RSA 私钥并将其保存为 https.key 文件
[rootlocalhost certs]# openssl req -utf8 -new -key https.key -x509 -days 100 -out https.crt
#基于私钥生成LLS证书 使用之前生成的私钥 https.key 创建一个自签名的 X.509 证书有效期为 100 天并将证书保存为 https.crt 文件。[rootlocalhost certs]# ls
ca-bundle.crt ca-bundle.trust.crt https.crt https.key4、配置nginx服务器
[rootlocalhost ~]# vim /etc/nginx/conf.d/test_https.conf
server {listen 192.168.84.110:443 ssl; #表示监听 192.168.84.110 的 443 端口并启用 SSL root /www/https; #指定网站的根目录为 /www/httpsssl_certificate /etc/pki/tls/certs/https.crt; #指定了 SSL 证书位置。ssl_certificate_key /etc/pki/tls/certs/https.key; #指定SSL 私钥位置location / {}
}5、测试网站
[rootlocalhost ~]# curl -k https://192.168.84.110
this is https5.动态网站搭建
[rootlocalhost ~]# nmcli connection modify ens33 ipv4.addresses 192.168.84.120/24
[rootlocalhost ~]# nmcli connection up ens33
连接已成功激活D-Bus 活动路径/org/freedesktop/NetworkManager/ActiveConnection/4
[rootlocalhost ~]# dnf install php php-fpm -y输出 PHP 信息
[rootlocalhost ~]# echo ?php phpinfo(); ? /usr/share/nginx/html/index.html
?php phpinfo(); ? /usr/share/nginx/html/index.html重启服务
[rootlocalhost ~]# systemctl restart nginx
查看输出信息
[rootlocalhost ~]# curl -I 192.168.84.120
HTTP/1.1 200 OK
Server: nginx/1.21.5
Date: Fri, 28 Jun 2024 10:07:42 GMT
Content-Type: text/html
Content-Length: 3510
Last-Modified: Mon, 23 Oct 2023 15:48:29 GMT
Connection: keep-alive
ETag: 653695cd-db6
Accept-Ranges: bytes
第五节 案例Apache
案例一设置单实例Apache HTTP服务器
[rootlocalhost ~]# echo this is apache http /var/www/html/index.html
[rootlocalhost ~]# systemctl start httpd
[rootlocalhost ~]# curl 192.168.84.160
this is apache http案例二配置基于不同端口的虚拟主机
cd /etc/httpd/conf.d/
[rootlocalhost conf.d]# mkdir -pv /www/{8080,9090}
mkdir: 已创建目录 /www
mkdir: 已创建目录 /www/8080
mkdir: 已创建目录 /www/9090
[rootlocalhost conf.d]# echo 8080 /www/8080/index.html
[rootlocalhost conf.d]# echo 9090 /www/9090/index.html[rootlocalhost conf.d]#vim /etc/httpd/conf.d/port.conf
listen 8080
listen 9090
directory /wwwallowoverride nonerequire all granted
/directoryvirtualhost 192.168.84.160:8080servername 192.168.84.160documentroot /www/8080
/virtualhost
virtualhost 192.168.84.160:9090servername 192.168.84.160documentroot /www/9090
/virtualhost[rootlocalhost conf.d]# setenface 0
[rootlocalhost conf.d]# systemctl restart httpd[rootlocalhost conf.d]# curl 192.168.84.160:8080
8080
[rootlocalhost conf.d]# curl 192.168.84.160:9090
9090
案例三配置基于Apache的虚拟主机
基于多IP地址访问
[rootlocalhost conf.d]# cat way1.conf
virtualhost 192.168.84.110:80documentroot /www/way1/a.comservername a.com
/virtualhost
virtualhost 192.168.84.120:80documentroot /www/way1/b.comservername b.com
/virtualhostrootlocalhost conf.d]# mkdir -p /www/way1/{a.com,b.com}
[rootlocalhost conf.d]# echo a.com /www/way1/a.com/index.html
[rootlocalhost conf.d]# echo b.com /www/way1/b.com/index.html[rootlocalhost conf.d]# systemctl restart httpd[rootlocalhost conf.d]# curl 192.168.84.110
a.com
[rootlocalhost conf.d]# curl 192.168.84.120
b.com
基于域名访问rootlocalhost conf.d]# mkdir -p /www/way2/{abc.com,def.com}
[rootlocalhost conf.d]# echo abc.com /www/way2/abc.com/index.html
[rootlocalhost conf.d]# echo def.com /www/way2/def.com/index.html[rootlocalhost conf.d]# cat way2.conf
VirtualHost *:80ServerName a.comDocumentRoot /www/a.com/
/VirtualHostVirtualHost *:80ServerName b.comDocumentRoot /www/b.com/
/VirtualHost修改物理主机hosts文件C:\Windows\System32\drivers\etc这里是因为物理机去访问Apache服务器
在hosts文件里面添加
192.168.81.136 a.com
192.168.81.136 b.com案例四、在 Apache HTTP 服务器中添加 TLS 加 密
1. 安装必要的模块
首先需要确保您的服务器已经安装了 mod_ssl 模块。如果未安装可以使用您服务器的包管理工具进行安装。
dnf install mod_ssl2. 生成证书和密钥
可以通过以下两种常见方式获取证书和密钥
- 自签名证书这适用于测试和开发环境。可以使用 openssl 命令来生成
openssl req -new -newkey rsa:2048 -nodes -keyout server.key -out server.csr
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
- 从受信任的证书颁发机构CA获取您需要向 CA 提交证书请求并完成相关验证流程CA 将会颁发有效的证书。3. 配置 Apache
打开 Apache 的配置文件 httpd.conf 或 ssl.conf具体取决于您的系统配置并进行以下关键配置
- 启用 mod_ssl 模块确保有类似 LoadModule ssl_module modules/mod_ssl.so 的行未被注释。
- 设置证书和密钥路径
SSLCertificateFile /path/to/server.crt
SSLCertificateKeyFile /path/to/server.key4. 配置虚拟主机如果需要
如果您为多个域名或子域名配置 SSL需要在虚拟主机的配置中进行相应设置。5. 重启 Apache 服务器
完成配置后重启 Apache 服务器以使更改生效。
例如如果您使用 systemctl 来管理服务可以使用以下命令
sudo systemctl restart apache21. 安装 mod_ssl 模块sudo dnf install mod_ssl2. 生成自签名证书和密钥在合适的目录下例如 /etc/httpd/ssl/ sudo mkdir -p /etc/httpd/sslopenssl req -new -newkey rsa:2048 -nodes -keyout /etc/httpd/ssl/server.key -out /etc/httpd/ssl/server.csropenssl x509 -req -days 365 -in /etc/httpd/ssl/server.csr -signkey /etc/httpd/ssl/server.key -out /etc/httpd/ssl/server.crt3. 打开 Apache 的配置文件 /etc/httpd/conf/httpd.conf sudo vim /etc/httpd/conf/httpd.conf4. 在配置文件中进行以下配置- 启用 mod_ssl 模块确保有类似 LoadModule ssl_module modules/mod_ssl.so 的行未被注释。- 设置证书和密钥路径SSLCertificateFile /etc/httpd/ssl/server.crtSSLCertificateKeyFile /etc/httpd/ssl/server.key5. 如果需要配置虚拟主机在 /etc/httpd/conf.d/vhost.conf 或类似的文件中进行设置假设您要为 example.com 配置虚拟主机VirtualHost *:443ServerName example.comDocumentRoot /var/www/html/exampleSSLEngine onSSLCertificateFile /etc/httpd/ssl/server.crtSSLCertificateKeyFile /etc/httpd/ssl/server.key/VirtualHost6. 重启 Apache 服务器sudo systemctl restart httpd