百度网站官方认证怎么做,北京网站设计价格,营销培训公司,湖南营销型网站建设流程一.web服务器 Web 服务器是一种软件或硬件系统#xff0c;用于接收、处理和响应来自客户端#xff08;通常是浏览器#xff09;的 HTTP 请求。它的主要功能是存储和提供网站内容#xff0c;比如 HTML 页面、图像、视频等。
Web 服务器的主要功能 处理请求#xf…一.web服务器 Web 服务器是一种软件或硬件系统用于接收、处理和响应来自客户端通常是浏览器的 HTTP 请求。它的主要功能是存储和提供网站内容比如 HTML 页面、图像、视频等。
Web 服务器的主要功能 处理请求 当用户在浏览器中输入网址时浏览器会发送一个 HTTP 请求到 Web 服务器。服务器接收到请求后处理该请求并生成响应。
提供内容 Web 服务器根据请求的资源类型例如 HTML、CSS、JavaScript 文件从存储中检索并发送相应的内容。
运行应用程序 一些 Web 服务器还可以处理动态内容运行服务器端脚本如 PHP、Python、Node.js生成用户请求时所需的页面。
安全性和权限管理 Web 服务器通常提供安全特性如 SSL/TLS 加密确保数据在传输过程中的安全性并且可以设置访问控制权限。
负载均衡 在高流量情况下Web 服务器可以与负载均衡器配合使用将请求分配到多个服务器从而提高性能和可用性。
常见的 Web 服务器软件
Apache HTTP Server开源功能强大广泛使用。 Nginx高性能支持高并发常用于反向代理和负载均衡。 Microsoft Internet Information Services (IIS)专为 Windows 服务器设计。 LiteSpeed轻量级支持高效的动态内容处理。 状态代码由三位数字组成第一个数字定义了响应的类别且有五种可能取值。 1xx 指示信息 —— 表示请求已接收继续处理 2xx 成功 —— 表示请求已被成功接收、理解、接受 3xx 重定向 —— 要完成请求必须进行更进一步的操作 4xx 客户端错误 —— 请求有语法错误或请求无法实现 5xx 服务器端错误 —— 服务器未能实现合法的请求 常见状态代码、状态描述的说明如下 200 OK 客户端请求成功 400 Bad Request 客户端请求有语法错误不能被服务器所理解 401 Unauthorized 请求未经授权这个状态代码必须和 WWW-Authenticate 报头域 一起使用 403 Forbidden 服务器收到请求但是拒绝提供服务 404 Not Found 请求资源不存在举个例子输入了错误的 URL 500 Internal Server Error 服务器发生不可预期的错误 503 Server Unavailable 服务器当前不能处理客户端的请求一段时间后可能恢复正常 HTTP 报文 http 报文中有很多行内容这些行的字段内容都是由一些 ASCII 码串组成但各个字段 的长度是不同的。 http 报文可分为两种一种是从 web 客户端发往 web 服务器的 http 报文称为请 求报文。另外一种是从 web 服务器发往 web 客户端的报文称为响应报文 。 2 、 web 服务器的类型 1 仅提供用户浏览的单向静态网页 单纯是由服务器单向提供数据给客户端 Server 不需要与 client 端有互动所以你可以到该网站上去浏 览但是无法进行数据的上传。 2 提供用户互动接口的动态网站 这种类型的网站可以让服务器与用户互动常见的例如留言板博客。这种类型的网站需要通过 “ 网页程 序语言 ” 来实现与用户互动的行为。常见的例如 PHP 网页程序语言配合数据库系统来进行数据的读、 写。当你在向服务器请求数据时其实是通过服务器端同一个网页程序在负责将数据读出或写入数据 库变动的是数据库的内容网页程序并没有任何改变。 另外一种交互式的动态网页主要是在客户端实现。服务端将可执行的程序代码 JavaScript 传送给客户 端客户端的浏览器如果提供 JavaScript 的功能那么该程序就可以在客户端的计算机上面工作了 URL 的结构 一个典型的 URL 通常包含以下几个部分 协议Scheme 指定访问资源的协议如 http、https、ftp 等。例如https:// 表示使用安全的 HTTP 协议。 主机名Host 指明资源所在的服务器的域名或 IP 地址例如 www.example.com。 端口Port可选 指定与服务器通信的端口号。默认情况下HTTP 使用端口 80HTTPS 使用端口 443。例如http://www.example.com:8080 表示使用 8080 端口。 知名端口Well-Known Ports 范围0-1023 这些端口由 IANA互联网号码分配局分配给常见的网络服务和协议例如 HTTP: 80 HTTPS: 443 FTP: 21 SSH: 22 注册端口Registered Ports 范围1024-49151 这些端口可以被应用程序使用但需向 IANA 注册。常见的服务有 MySQL: 3306 PostgreSQL: 5432 Microsoft SQL Server: 1433 动态或私有端口Dynamic or Private Ports 范围49152-65535 这些端口通常由客户端应用程序动态分配用于临时连接。它们不需要注册通常用于与服务器进行通信时的临时会话。 路径Path 指向特定资源的路径通常是服务器上的文件或目录。例如/folder/page.html 表示访问 folder 目录下的 page.html 文件。 查询字符串Query String可选 包含以 ? 开始的键值对用于传递额外参数。例如?id123sortasc。 片段Fragment可选 以 # 开始指向文档内的特定部分。例如#section1 指向页面中的某个锚点。 示例 以下是一个完整的 URL 示例 https://www.example.com:443/folder/page.html?id123sortasc#section1 协议https 主机名www.example.com 端口443HTTPS 默认端口可以省略 路径/folder/page.html 查询字符串?id123sortasc 片段#section1 ———————————————— 3 、 web 服务器基本配置 服务器端此处使用 nginx 提供 web 服务 RPM 包获取 http://nginx.org/packages/ [rootlocalhost ~]# dnf install nginx -y
[rootlocalhost ~]# nginx -v
[rootlocalhost ~]# rpm -ql nginx #查看nginx产生的文件
[rootlocalhost ~]# tree /usr/share/nginx/html/ #默认的nginx网站根目录
[rootlocalhost ~]# tree /var/log/nginx/ #nginx的日志文件所在目录#nginx服务主配置文件nginx.conf的结构
[rootlocalhost nginx]# grep ^[^#] /etc/nginx/nginx.conf
全局配置无{}标志
user nginx; #进程所属用户
worker_processes auto; #worker数量
error_log /var/log/nginx/error.log; #错误日志存放路径
pid /run/nginx.pid; #pid文件路径
include /usr/share/nginx/modules/*.conf; #include导入的功能模块配置文件
全局配置无{}标志
性能配置有{}标志
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; #可解析的静态资源类型include /etc/nginx/conf.d/*.conf; #子配置文件存放路径
server { #server区块开始
listen 80; #监听端口
listen [::]:80;
server_name _; #服务器的名字
root /usr/share/nginx/html; #主页存放路径
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf; #子配置文件存放路径
error_page 404 /404.html; #404错误返回的页面
location /40x.html { #使用location定义用户请求的uri
}
error_page 500 502 503 504 /50x.html; #500、502、503、504返回的页面
location /50x.html {
}
} #server区块结束
} #http区块结束
http模块配置有{}标志 常用命令 [rootlocalhost ~]#systemctl disable firewalld --now
[rootlocalhost ~]# setenforce 0
[rootlocalhost ~]# getenforce
Permissive
[rootlocalhost ~]# systemctl restart nginx
#测试可以使用curl命令访问web服务器或者使用浏览器访问
[rootlocalhost ~]# curl -I localhost
HTTP/1.1 200 OK
Server: nginx/1.21.5
Date: Fri, 17 Nov 2023 08:40:28 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 4 、虚拟主机配置实战 4.1 搭建静态网站 —— 基于 http 协议的静态网站 实验 1 搭建一个 web 服务器访问该服务器时显示 “hello world” 欢迎界面 。 [rootlocalhost ~]# echo hello world /usr/share/nginx/html/index.html
[rootlocalhost ~]# curl localhost
hello world
[rootlocalhost ~]# curl 192.168.168.153
hello world 实验 2 建立两个基于 ip 地址访问的网站要求如下 该网站 ip 地址的主机位为 100 设置首页目录为 /www/ip/100 网页内容为 this is 100 。 该网站 ip 地址主机位为 200 设置首页目录为 /www/ip/200 网页内容为 this is 200 。 #添加ip地址
[rootlocalhost ~]# nmcli connection modify ens33 ipv4.addresses
192.168.168.100/24 ipv4.gateway 192.168.168.2 ipv4.dns 114.114.114.114
ipv4.method manual autoconnect yes
[rootlocalhost ~]# nmcli connection modify ens33 ipv4.addresses
192.168.168.200/24
[rootlocalhost ~]# nmcli connection up ens33
#创建两个网页文件根目录并定义网页内容
[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.html
#设置selinux必须设置否则无法看到网页页面内容
[rootserver html]# setenforce 0
[rootserver html]# getenforce
Permissive
#定义基于不同ip地址来访问网站的配置文件
#新建文件写入如下配置
[rootlocalhost ~]# vim /etc/nginx/conf.d/test_ip.conf
server {
listen 192.168.168.100:80;
root /www/ip/100;
location / {
}
}
server {
listen 192.168.168.200:80;
root /www/ip/200;
location / {
}
}
[rootlocalhost ~]# systemctl restart nginx
[rootlocalhost ~]# curl 192.168.168.100
this is 100
[rootlocalhost ~]# curl 192.168.168.200
this is 200 实验 3 建立两个基于不同端口访问的网站要求如下 建立一个使用 web 服务器默认端口的网站设置网站首页目录为 /www/port/80 网页内容为 the port is 80 。 建立一个使用 10000 端口的网站设置网站首页目录为 /www/port/10000 网页内容为 the port is 10000 。 [rootlocalhost ~]# mkdir -pv /www/port/{80,10000}
[rootlocalhost ~]# echo the port is 80 /www/port/80/index.html
[rootlocalhost ~]# echo the port is 10000 /www/port/10000/index.html
[rootlocalhost ~]# nmcli connection modify ens33 ipv4.addresses
192.168.168.153/24
[rootlocalhost ~]# nmcli connection up ens33
[rootlocalhost ~]# cat /etc/nginx/conf.d/test_port.conf
server {
listen 192.168.168.153:80;
root /www/port/80;
location / {
}
}
server {
listen 192.168.168.153:10000;
root /www/port/10000;
location / {
}
}
[rootlocalhost ~]# systemctl restart nginx
[rootlocalhost ~]# curl 192.168.168.153:10000
the port is 10000
[rootlocalhost ~]# curl 192.168.168.153
the port is 80 实验 4 建立两个基于域名访问的网站要求如下 新建一个网站域名为 www.ceshi.com 设置网站首页目录为 /www/name 网页内容为 this is test 。 新建一个网站域名为 rhce.first.day 同时可通过 ce.first.day 访问设置网站首页目录 为 /www/ce, 网页内容为 today is first day of class 。 基于域名的网站需要用到域名解析。 域名 -------ip 地址 浏览器如何通过域名去查询 URL 对应的 IP 对应服务器地址 1 、浏览器缓存浏览器会按照一定的频率缓存 DNS 记录。 2 、操作系统缓存如果浏览器缓存中找不到需要的 DNS 记录那就去操作系统中的 hosts 文件 找。 hosts 是一个没有扩展名的系统文件其作用就是将一些常用的网址域名与其对应的 IP 地址建 立一个关联 数据库 当用户在浏览器中输入一个需要登录的网址时系统会首先自动从 Hosts 文 件中寻找对应的 IP 地址一旦找到系统会立即打开对应网页如果没有找到则系统会再将网址 提交 DNS 域名解析服务器进行 IP 地址的解析。 windows 下的 hosts 文件路径 C:\Windows\System32\drivers\etc\hosts Linux 下的 hosts 文件路径 :/etc/hosts 3 、路由缓存路由器也有 DNS 缓存。 4 、 ISP 的 DNS 服务器 ISP 是互联网服务提供商 (Internet Service Provider) 的简称 ISP 有专门的 DNS 服务器应对 DNS 查询请求。 5 、根服务器 ISP 的 DNS 服务器还找不到的话它就会向根服务器发出请求进行递归查询 DNS 服务器先问根域名服务器 .com 域名服务器的 IP 地址然后再问 .com 域名服务器依次类 推 [rootlocalhost conf.d]# nmcli connection modify ens33 ipv4.addresses
192.168.168.154/24
[rootlocalhost conf.d]# nmcli connection up ens33
[rootlocalhost ~]# mkdir /www/{name,ce}
[rootlocalhost ~]# echo this is test /www/name/index.html
[rootlocalhost ~]# echo today is first day of class /www/ce/index.html
[rootlocalhost ~]# vim /etc/nginx/conf.d/test_servername.conf
server {
listen 192.168.168.154:80;
server_name www.ceshi.com;
root /www/name;
location / {
}
}
server {
listen 192.168.168.154:80;
server_name rhce.first.day ce.first.day;
root /www/ce;
location / {
}
}
[rootlocalhost ~]# vim /etc/hosts
192.168.168.154 www.ceshi.com rhce.first.day ce.first.day
[rootlocalhost ~]# systemctl restart nginx
[rootlocalhost ~]# curl www.ceshi.com
this is test
[rootlocalhost ~]# curl rhce.first.day
today is first day of class
[rootlocalhost ~]# curl ce.first.day
today is first day of class 实验 5 基于虚拟目录和用户控制的 web 网站 #虚拟目录实现
[rootlocalhost conf.d]# nmcli connection modify ens33 ipv4.addresses
192.168.168.155/24
[rootlocalhost conf.d]# nmcli connection up ens33
[rootlocalhost ~]# vim /etc/nginx/conf.d/test_virtualdir.conf
server {
listen 192.168.168.155:80;
root /usr/share/nginx/html;
location /real {
alias /www/real;
}
}
[rootlocalhost ~]# mkdir /www/real/
[rootlocalhost ~]# echo real-virtual /www/real/index.html
[rootlocalhost ~]# systemctl restart nginx
[rootlocalhost ~]# curl 192.168.168.155/real/
real-virtual
#用户访问控制
[rootlocalhost ~]# vim /etc/nginx/conf.d/test_virtualdir.conf
server {
listen 192.168.168.155:80;
root /usr/share/nginx/html;
location /real {
alias /www/real;
auth_basic on;
auth_basic_user_file /etc/nginx/conf.d/auth-password;
}
}
[rootlocalhost ~]# dnf install httpd-tools -y
[rootlocalhost ~]# htpasswd -cb /etc/nginx/conf.d/auth-password user1
123456
[rootlocalhost ~]# systemctl restart nginx
[rootlocalhost ~]# curl 192.168.168.155/real/
html
headtitle401 Authorization Required/title/head
body
centerh1401 Authorization Required/h1/center
hrcenternginx/1.21.5/center
/body
/html
[rootlocalhost ~]# curl 192.168.168.155/real/ -u user1
Enter host password for user user1:
real-virtual
[rootlocalhost ~]# curl user1:123456192.168.168.155/real
html
headtitle301 Moved Permanently/title/head
body
centerh1301 Moved Permanently/h1/center
hrcenternginx/1.21.5/center
/body
/html
[rootlocalhost ~]# curl user1:123456192.168.168.155/real/
real-virtual 4.2 搭建静态网站 —— 基于 https 协议的静态网站 1 https 简介 超文本传输协议 HTTP 协议被用于在 Web 浏览器和网站服务器之间传递信息。 HTTP 协议以明文方式发送 内容不提供任何方式的数据加密如果攻击者截取了 Web 浏览器和网站服务器之间的传输报文就可 以直接读懂其中的信息因此 HTTP 协议不适合传输一些敏感信息比如信用卡号、密码等。为了解决 HTTP 协议的这一缺陷需要使用另一种协议安全套接字层超文本传输协议 HTTPS 。 HTTPS 全称 Hyper Text Transfer Protocol over Secure Socket Layer 或 Hypertext Transfer Protocol Secure 超文本传输安全协议是以安全为目标的 HTTP 通道。 HTTPS 并不是一个新协议 SSL 是 “Secure Sockets Layer” 的缩写中文叫做 “ 安全套接层 ” 。它是在上世纪 90 年代中期由网景公司 设计的。到了 1999 年 SSL 应用广泛已经成为互联网上的事实标准。 IETF 就把 SSL 标准化。标准化之 后 SSL 被改为 TLS Transport Layer Security 传输层安全协议。 SSL 协议分为两层 SSL 记录协议 SSL Record Protocol 它建立在可靠的传输协议如 TCP 之上为高层协议提 供数据封装、压缩、加密等基本功能。 SSL 握手协议 SSL Handshake Protocol 它建立在 SSL 记录协议之上用于在实际的数据传输 开始前通讯双方进行身份认证、协商加密算法、交换加密密钥等。 SSL 协议提供的服务 1 认证用户和服务器确保数据发送到正确的客户机和服务器 2 加密数据以防止数据中途被窃取 3 维护数据的完整性确保数据在传输过程中不被改变 2 https 协议加密所使用的算法 HASH 是把任意长度的输入又叫做预映射 pre-image 通过散列算法变换成固定长度的输出该输出就 是散列值。 Hash 算法特别的地方在于它是一种单向算法用户可以通过 hash 算法对目标信息生成一段 特定长度的唯一 hash 值却不能通过这个 hash 值重新获得目标信息。因此 Hash 算法常用在不可还原的 密码存储、信息完整性校验等。 常见的 HASH 算法 MD2 、 MD4 、 MD5 、 HAVAL 、 SHA 、 SHA-1 、 HMAC 、 HMAC-MD5 、 HMACSHA1 。 共享密钥加密对称密钥加密加密和解密使用相同密钥。 对称加密算法 DES 、 3DES 、 DESX 、 Blowfish 、 IDEA 、 RC4 、 RC5 、 RC6 和 AES 。 公开密钥加密非对称密钥加密公开密钥加密使用一对非对称的密钥。一把叫做私有密钥一把叫 做公开密钥。私有密钥不能让其他任何人知道而公开密钥则可以随意发布任何人都可以获得。使用 此加密方式发送密文的一方使用公开密钥进行加密处理对方收到被加密的信息后再使用自己的私 有密钥进行解密。利用这种方式不需要发送用来解密的私有密钥也不必担心密钥被攻击者窃听盗 走。 常见的非对称加密算法 RSA 、 ECC 移动设备用、 Diffie-Hellman 、 El Gamal 、 DSA 数字签名 用。 但由于公开密钥比共享密钥要慢所以我们就需要综合一下他们两者的优缺点使他们共同使用而这 也是 HTTPS 采用的加密方式。在交换密钥阶段使用公开密钥加密方式之后建立通信交换报文阶段则使 用共享密钥加密方式。 如何证明公开密钥本身是货真价实的公开密钥如正准备和某台服务器建立公开密钥加密方式下的通 信时如何证明收到的公开密钥就是原本预想的那台服务器发行的公开密钥。或许在公开密钥传输过程 中真正的公开密钥已经被攻击者替换掉了。这个时候就需要第三方公证单位来帮忙啦。 CA 就是一个公认的公证单位你可以自行产生一把密钥且制作出必要的证书数据并向 CA 单位注册那么 当客户端的浏览器在浏览时该浏览器会主动向 CA 单位确认该证书是否为合法注册过如果是那么该 次连接才会建立如果不是浏览器会发出警告信息告知用户应避免建立连接。所以说如此一来 WWW 服务器不但有公证单位的证书用户在建立连接时也比较有保障。 3 浏览器访问 https 网站的通信过程 客户端浏览器向服务器端发送如下信息 客户端支持的 SSL /TLS 协议的版本号。 Cipher Suite 密钥算法套件。 客户端产生的随机数稍后用于生成 对话密钥 。 服务器端向客户端发送如下信息 确认使用的加密通信协议版本如果浏览器与服务器支持的版本不一致服务器关闭加密通 信。 确认使用的加密方法。 服务器证书。 要使数字证书有用它的结构必须采用一种可理解且可靠的形式以便人们可以轻松地检索并 理解证书内的信息。例如护照采用这样一种结构人们可以轻松地理解以前从未见过的那一 类护照中的信息。同样只要数字证书是标准化的则无论颁发该证书的是哪个机构人们都 可以阅读并理解该证书。 S/MIME 标准规定用于 S/MIME 的数字证书应遵守国际电信同盟 (ITU) X.509 标准。 S/MIME 版本 3 明确要求数字证书应遵循 X.509 的第 3 版。由于 S/MIME 依赖于已建立的数字证书结 构公认标准因此 S/MIME 标准建立在该标准的发展之上从而提高了它的认可度。 X.509 标准规定数字证书应包含标准化信息。具体地说 X.509 版本 3 证书包含下列字段 版本号 证书所遵循的 X.509 标准的版本。 序列号 唯一标识证书且由证书颁发机构颁发的编号。 签名算法 CA 用于对证书进行数字签名的 hash 算法。 颁发者名称 实际颁发该证书的证书颁发机构的标识。 有效期 数字证书保持有效的时间段并包含起始日期和过期日期。 使用者名称 数字证书所有者的姓名。 使用者公钥信息 与数字证书所有者关联的公钥以及与该公钥关联的特定公钥算法。 颁发者唯一标识符 可以用来唯一标识数字证书颁发者的信息。 使用者唯一标识符 可以用来唯一标识数字证书所有者的信息。 扩充信息 与证书的使用和处理有关的其他信息。 证书颁发机构的数字签名 使用指纹算法中指定的 HASH 算法以及证书颁发机构的私钥进 行加密的数字签名。 服务器生成的随机数稍后用于生成 对话密钥 客户端利用服务器传过来的信息验证服务器的合法性。如果合法性验证没有通过通讯将断开如 果合法性验证通过则可以知道认证服务器的公开密钥的是真实有效的数字证书认证机构并且服 务器的公开密钥是值得信赖的。此处认证机关的公开密钥必须安全地转交给客户端。使用通信方 式时如何安全转交是一件很困难的事因此多数浏览器开发商发布版本时会事先在内部植入 常用认证机关的公开密钥。 客户端随机产生一个用于后面通讯的对称密钥然后用服务器的公钥对其加密然后将加密后的对 称密钥传给服务器。 HTTPS 的安全通信工作流程可大致分为三个阶段 认证服务器 浏览器内置一个受信任的 CA 机构列表并保存了这些 CA 机构的证书。第一阶段服务器会提 供经 CA 机构认证颁发的服务器证书如果认证该服务器证书的 CA 机构存在于浏览器的受信任 CA 机构 列表中并且服务器证书中的信息与当前正在访问的网站域名等一致那么浏览器就认为服务端是 可信的并从服务器证书中取得服务器公钥用于后续流程。否则浏览器将提示用户根据用户的选 择决定是否继续。当然我们可以管理这个受信任 CA 机构列表添加我们想要信任的 CA 机构或者移 除我们不信任的 CA 机构。 协商会话密钥 客户端在认证完服务器获得服务器的公钥之后利用该公钥与服务器进行加密通信 协商出两个会话密钥分别是用于加密客户端往服务端发送数据的客户端会话密钥用于加密服务端往 客户端发送数据的服务端会话密钥。在已有服务器公钥可以加密通讯的前提下还要协商两个对称密 钥的原因是因为非对称加密相对复杂度更高在数据传输过程中使用对称加密可以节省计算资 源。另外会话密钥是随机生成每次协商都会有不一样的结果所以安全性也比较高。 加密通讯 此时客户端服务器双方都有了本次通讯的会话密钥之后传输的所有 http 数据都通过会话 密钥加密。这样网路上的其它用户将很难窃取和篡改客户端和服务端之间传输的数据从而保证了数 据的私密性和完整性。 4 https 网站配置 #https功能由ngx_http_ssl_module模块提供
[rootlocalhost ~]# nmcli connection modify ens33 ipv4.addresses
192.168.168.156/24
[rootlocalhost ~]# nmcli connection up ens33
[rootlocalhost ~]# mkdir -pv /www/https/
[rootlocalhost ~]# echo https /www/https/index.html
[rootlocalhost conf.d]# cd /etc/pki/tls/certs/
#key是私钥文件
[rootlocalhost certs]# openssl genrsa -out https.key
#crt是由证书颁发机构CA签名后的证书或者是开发者自签名的证书包含证书持有人的信息持
有人的公钥以及签署者的签名等信息
[rootlocalhost certs]# openssl req -utf8 -new -key https.key -x509 -days
100 -out https.crt
[[rootlocalhost ~]# cat /etc/nginx/conf.d/test_https.conf
server {
# listen 80;
listen 192.168.168.156:443 ssl;
root /www/https;
ssl_certificate /etc/pki/tls/certs/https.crt;
ssl_certificate_key /etc/pki/tls/certs/https.key;
location / {
}
}
[rootlocalhost ~]# systemctl restart nginx
[rootlocalhost ~]# curl --insecure https://192.168.168.156
https
[rootlocalhost ~]# curl -k https://192.168.168.156
https 4.3 搭建动态网站 动态网站并不是指具有动画功能的网站而是指网站内容可根据不同情况动态变更的网站一般情况下 动态网站通过数据库进行架构。 动态网站除了要设计网页外还要通过数据库和编程序来使网站具有更 多自动的和高级的功能。 动态网页使用网页脚本语言比如 php 、 JSP 等通过脚本将网站内容动态存储到数据库用户访问网 站是通过读取数据库来动态生成网页的方法。 [rootlocalhost nginx]# nmcli connection modify ens33 ipv4.addresses
192.168.168.157/24
[rootlocalhost nginx]# nmcli connection up ens33
[rootlocalhost ~]# dnf install php php-fpm -y
[rootlocalhost ~]# systemctl restart nginx php-fpm
[rootntp-server ~]# echo ?php phpinfo(); ?
/usr/share/nginx/html/index.php
#使用浏览器访问