如何基于nginx搭建https网站

华子目录

  • 使用nginx的http_ssl模块建立加密传输的网站
    • 查看
    • 配置文件
    • ssl配置文件的主要参数
    • 实验:搭建nginx+ssl加密认证的web服务器

使用nginx的http_ssl模块建立加密传输的网站

查看

[root@server ~]# nginx -V
#查看是否有--with-http_ssl_module模块,如果没有则需要安装mod_ssl

配置文件

  • 证书文件/...../xxx.crt
  • 私钥文件/..../xxx.key

ssl配置文件的主要参数

[root@server ~]# vim /etc/nginx/nginx.conf   #主配置文件https段,默认为注释,可以取消注释
# Settings for a TLS enabled server.
#
#    server {
#        listen       443 ssl http2;   #监听443端口
#        listen       [::]:443 ssl http2;
#        server_name  _;               #域名
#        root         /usr/share/nginx/html;   #默认网页目录
#
#        ssl_certificate "/etc/pki/nginx/server.crt";    #证书文件路径
#        ssl_certificate_key "/etc/pki/nginx/private/server.key";    #私钥文件路径
#
#        ssl_session_cache shared:SSL:1m;
#        ssl_session_timeout  10m;
#        ssl_ciphers PROFILE=SYSTEM;
#        ssl_prefer_server_ciphers on;
#
#        # Load configuration files for the default server block.
#        include /etc/nginx/default.d/*.conf;
#
#        error_page 404 /404.html;
#            location = /40x.html {
#        }
#
#        error_page 500 502 503 504 /50x.html;
#            location = /50x.html {
#        }
#    }

实验:搭建nginx+ssl加密认证的web服务器

  • 准备工作
[root@server ~]# setenforce 0[root@server ~]# systemctl stop firewalld[root@server ~]# systemctl disable firewalld[root@server ~]# yum install nginx mod_ssl -y[root@server ~]# systemctl start nginx[root@server ~]# systemctl enable nginx
  • 创建网页目录
[root@server ~]# mkdir -p /www/sxhkt#使用mobaxterm上传网页数据到/www/sxhkt
  • 制作证书
#在/etc/nginx目录下制作证书所用的私钥文件sxhkt.key
[root@server ~]# openssl genrsa -aes128 2048 > /etc/nginx/sxhkt.key
Enter PEM pass phrase:                        #输入加密私钥的密码12345
Verifying - Enter PEM pass phrase:            #再输一遍#制作证书 (证书需要用CA的私钥进行加密,所以在制作证书之前先制作私钥,证书中含有网站的公钥)
[root@server ~]# openssl req -utf8 -new -key  /etc/nginx/sxhkt.key  -x509  -days  365  -out  /etc/nginx/sxhkt.crt
Enter pass phrase for /etc/nginx/sxhkt.key:       #输入加密私钥的密码12345
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:86     #国家代码
State or Province Name (full name) []:shanxi   #省份
Locality Name (eg, city) [Default City]:xian    #城市
Organization Name (eg, company) [Default Company Ltd]:openlab  #公司
Organizational Unit Name (eg, section) []:rhce    #部门
Common Name (eg, your name or your server's hostname) []:server   #主机名
Email Address []:and@qq.com   #邮箱#在加载ssl支持的nginx并使用上述私钥时必须去除设置的私钥密码12345
[root@server ~]# cd /etc/nginx
[root@server nginx]# cp sxhkt.key sxhkt.key.org
[root@server nginx]# openssl rsa -in sxhkt.key.org -out sxhkt.key
Enter pass phrase for sxhkt.key.org:         #输入加密私钥的密码12345
writing RSA key
  • 修改配置文件
[root@server ~]# vim /etc/nginx/nginx.confserver {listen       80;listen       [::]:80;server_name  192.168.80.129;return  301  https://192.168.80.129;   #输入http跳转到https# Load configuration files for the default server block.include /etc/nginx/default.d/*.conf;error_page 404 /404.html;location = /404.html {}error_page 500 502 503 504 /50x.html;location = /50x.html {}}# Settings for a TLS enabled server.server {listen       443 ssl http2;listen       [::]:443 ssl http2;server_name  192.168.80.129;root         /www/sxhkt;ssl_certificate "/etc/nginx/sxhkt.crt";ssl_certificate_key "/etc/nginx/sxhkt.key";# Load configuration files for the default server block.include /etc/nginx/default.d/*.conf;error_page 404 /404.html;location = /40x.html {}error_page 500 502 503 504 /50x.html;location = /50x.html {}}
  • 重启服务,测试
[root@server ~]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@server ~]# systemctl restart nginx#在Windows端浏览器上输入https://192.168.80.129

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/6145.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AI时代,如何让ChatGPT成为你最好的编程老师|TodayAI

ChatGPT作为生成式预训练变换器(GPT)系列模型的一种,专门设计用来理解和生成文本,其生成的文本能够高度模仿人类的对话方式。这种能力不仅让它在进行日常对话时表现得像极了真人,还使其在各种专业领域内,比…

TCP四次挥手分析

TCP四次挥手分析 概念过程分析为什么连接的时候是三次握手,关闭的时候却是四次握手?为什么要等待2MSL? 概念 四次挥手即终止TCP连接,就是指断开一个TCP连接时,需要客户端和服务端总共发送4个包以确认连接的断开。 在…

基于深度学习的3D目标检测与跟踪

目标检测和跟踪对于自动驾驶来说是至关重要和基础的任务,旨在从场景中识别和定位出那些预定义类别的对象。在所有形式的自动驾驶数据中,3D点云学习引起了越来越多的关注。目前,有许多用于3D目标检测的深度学习方法。然而,鉴于点云…

【方法】PDF如何取消“限制编辑”?

我们知道,PDF设置“限制编辑”可以用来保护文件,设置后很多功能就会被锁定,比如无法编辑内容,无法打印,另存文件等等,可以看到大多数菜单选项都是灰色状态,无法点击。 那如果后续想要使用锁定的…

启动盘制作

魔术师pe安装教程 我一般使用魔术师来安装windows系统 魔术师pe地址下载 解压后使用 把ios映像文件放入pe系统u盘下 开机按f1,进入bios,将usb接口拉到本电脑,在按f10保存,在按f12即可找到pe的u盘 ventoy安装教程 其他系统安装我使用ventoy ventoy地…

宇宙最强Windows下载神器IDM,还不快用 互联网下载管理器(IDM)全面评测

互联网下载管理器(IDM)是一款功能强大的下载工具,自 1999 年问世以来,一直以其卓越的性能和稳定性受到用户的喜爱。IDM 可以帮助用户加速下载速度,最高可达 5 倍,同时还具有断点续传、定时下载、自动分类等…

第14章 软件测试过程和管理

一、测试过程模型 (一)组织级测试过程 用于开发和管理组织级测试规格说明。常用的组织级测试规格说明包括组织级测试方针和组织级测试策略。 (二)测试管理过程 1、内容 包括测试管理和动态测试。动态测试:测试设计…

大数据组件之Storm详解

Storm 是一个免费并开源的分布式实时计算系统,具有高容错性和可扩展性。它能够处理无边界的数据流,并提供了实时计算的功能。与传统的批处理系统相比,Apache Storm 更适合处理实时数据。 让我们深入了解一下 Storm: 1.Storm 简介…

超强动画制作软件blender

blender中文手册:Blender 4.1 Manual Blender 是一款集3D建模、渲染、动画、视频编辑、音频处理、游戏设计等多功能于一体的软件。由于其开源性质,它拥有庞大的用户群体和活跃的开发者社区,这使得Blender的功能和性能得到了不断的提升和优化…

【数学建模】2024五一数学建模C题完整论文代码更新

最新更新:2024五一数学建模C题 煤矿深部开采冲击地压危险预测:建立基于多域特征融合与时间序列分解的信号检测与区间识别模型完整论文已更新 2024五一数学建模题完整代码和成品论文获取↓↓↓↓↓ https://www.yuque.com/u42168770/qv6z0d/gyoz9ou5upv…

NI CRIO 9045 LABVIEW2020

1.labview工程如果要访问CRIO,需要设置以下,否则在项目中连接失败。 2.项目中如果要传文件,需要安装WebDEV 3.使用WebDAV将文件传输到实时(RT)目标 https://knowledge.ni.com/KnowledgeArticleDetails?idkA03q000000YGytCAG&lzh-CN

Redis协议与异步方式

Rredis Pipeline redis pipeline 是一个客户端提供的机制,而不是服务端提供的; pipeline 不具备事务性; 目的:节约网络传输时间; 通过一次发送多次请求命令,从而减少网络传输的时间。 Redis发布订阅 为了支…

下载Node.js及其他环境推荐nvm

文章目录 项目场景:下载Node.js环境配置配置环境变量 安装脚手架安装依赖安装淘宝镜像安装 cnpm(我需要安装)nvm 安装 Node.js (推荐) 项目场景: 提示:这里简述项目相关背景: 项目…

数据库管理-第179期 分库分表vs分布式(20240430

数据库管理179期 2024-04-30 数据库管理-第179期 分库分表vs分布式(20240430)1 分库分表1.1 分库1.2 分表1.3 组合1.4 问题 2 分布式3 常见分布式数据库4 期望总结 数据库管理-第179期 分库分表vs分布式(20240430) 作者&#xff1…

《Spring-MVC》系列文章目录

简介 Spring MVC是一种基于Java的实现MVC设计模式的请求驱动类型的轻量级Web框架,它通过把Model(模型)、View(视图)、Controller(控制器)分离,将web层进行职责解耦,把复杂…

记一次古董级netapp存储更换故障硬盘全过程

1、案例背景 记一次某医院PACS存储NetApp FAS2554更换故障硬盘的过程。 这个netapp设备以前从未调试过,据客户说该设备上线也有快9年了,头一次故障硬盘。因为己经过保了,客户只是采购的硬盘,我这来免费服务了。。。 netapp调试…

docker 基础命令

docker 安装 更新系统 sudo apt update sudo apt -y dist-upgrade安装docker sudo apt-get -y install ca-certificates curl gnupg lsb-release sudo mkdir -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/…

Servlet(一些实战小示例)

文章目录 一、实操注意点1.1 代码修改重启问题1.2 Smart Tomcat的日志1.3 如何处理错误 一. 抓自己的包二、构造一个重定向的响应,让页面重定向到百度主页三、让服务器返回一个html数据四、表白墙4.1 约定前后端数据4.2 前端代码4.3 后端代码4.4 保存在数据库的版本…

力扣hot100:101. 对称二叉树(双指针以不同方式递归)

LeetCode:101. 对称二叉树 看了第一个样例,很容易直接层序遍历看每一层的前后是否相同。但接下来这个样例告诉你,不能这样做。 层序遍历 仔细思考会发现,层序遍历不能看本结点,但是可以看儿子结点是否对称&#xf…

【JAVA进阶篇教学】第九篇:MyBatis-Plus用法介绍

博主打算从0-1讲解下java进阶篇教学,今天教学第九篇:MyBatis-Plus用法介绍。 在 MyBatis-Plus 3.5.0 中,LambdaQueryWrapper支持多种条件构造方式,除了等于(eq)、不等于(ne)、大于&a…