Linux:nginx设置网站https

news2024/11/17 11:40:01

httphttps的区别

http:   80  

https:  443   这种协议比http协议要安全,因为传输数据是经过加密的


HTTPS简介 

HTTPS其实是有两部分组成:HTTP + SSL / TLS,也就是在HTTP上又加了一层处理加密信息的模块。服务端和客户端的信息传输都会通过TLS进行加密,所以传输的数据都是加密后的数据

2.https协议原理

首先,客户端与服务器建立连接,各自生成私钥和公钥,是不同的。服务器返给客户端一个公钥,然后客户端拿着这个公钥把要搜索的东西加密,称之为密文,并连并自己的公钥一起返回给服务器,服务器拿着自己的私钥解密密文,然后把响应到的数据用客户端的公钥加密,返回给客户端,客户端拿着自己的私钥解密密文,把数据呈现出来 


证书和私钥的生成 

 使用nginx的源码包进行安装,下载包的基础教程请看下面这个文章Linux:nginx基础搭建(源码包)_linux nginx 源码-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/w14768855/article/details/131445878?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522170455179216800184146177%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=170455179216800184146177&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-2-131445878-null-null.nonecase&utm_term=nginx&spm=1018.2226.3001.4450基础的安装全部步骤我就不细讲了,就说几个重要的步骤

下载基础环境

yum -y install pcre-devel zlib-devel popt-devel openssl-devel openssl

配置源码包,如果你之前已经配置过了也没关系,关闭nginx进程重新配置

./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-file-aio --with-http_stub_status_module --with-http_gzip_static_module --with-http_flv_module --with-http_ssl_module --with-pcre && make && make install

 由于我们只是自己练习,我们自己给自己颁发证书,在真实情况下要找权威机构申请证书才行

 由于我们只是自己练习,我们自己给自己颁发证书,在真实情况下要找权威机构申请证书才行

 由于我们只是自己练习,我们自己给自己颁发证书,在真实情况下要找权威机构申请证书才行 

开始创建证书密钥文件 

openssl genrsa -des3 -out server.key 1024

# 再输入两次密码

 创建证书申请文件

openssl req -new -key server.key -out server.csr

1.输入前面创建的密码
2.输入国家代号
3.输入省的全名(拼音)
4.输入市的全名(拼音)
5.输入公司名
6.可以不输入直接回车
7.网站全面(www.***.com)
8.电子邮箱
9.可以直接回车跳过
10.可以直接回车跳过

备份一份服务器密钥文件

cp server.key server.key.org

去除文件口令

openssl rsa -in server.key.org -out server.key

 生成证书文件server.crt

openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

现在密钥和证书就生成好了


修改nginx配置文件 

 vim /usr/local/nginx/conf/nginx.conf

#比起默认的80 使用了443 默认 是ssl方式  多出default之后的ssl
        listen 443 default ssl;
#default 可省略
#开启  如果把ssl on;这行去掉,ssl写在443端口后面。这样http和https的链接都可以用
        # ssl on;
#证书(公钥.发送到客户端的)
        ssl_certificate ssl/server.crt;
#私钥,
        ssl_certificate_key ssl/server.key;

#域名

server_name www.***.*

mkdir -p /usr/local/nginx/conf/ssl

 再把密钥和证书放进去

cp server.crt server.key /usr/local/nginx/conf/ssl/

再重启nginx

访问网站,手动添加  ——》   https://域名


自动跳转到https

现在我们访问域名他会访问失败,还需要手动在前面添加https,因为他访问的是80,我们在80端口做个监听,自动跳转到443

如若想要客户端访问http://www.tarro.com 的时候自动跳转到https://www.tarro.com

再次进入nginx文件

vim /usr/local/nginx/conf/nginx.conf

# 在原来的server上添加一个server用来监听80端口

 server{
        listen 80;
        server_name www.tarro.com;
        rewrite ^(.*) https://$host$1 permanent;
    }

 

当访问网站时候自动跳转到https成功

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

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

相关文章

【附源码】Java计算机毕业设计-图书管理系统

【附源码】Java计算机毕业设计-图书管理系统 🍅 作者主页 央顺技术团队 🍅 欢迎点赞 👍 收藏 ⭐留言 📝 🍅 文末获取源码联系方式 📝 项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX…

模糊综合评价

第一步:确定评价指标集 确定评语集:如好,很好 第二步:求出模糊评价矩阵P 其中Pij表示方案X在第i个指标处于第j级评语等等隶属度 并且在此阶段需要确认各指标的权系数向量A 第三步:利用矩阵的模糊乘法得到综合评价…

Linux第9步_通过终端查看U盘文件

学习完“USB设置”后,我们学习通过终端来查看U盘文件。前面讲解过使用鼠标打开U盘,但是在实际使用中,更多的还是采用命令来实现对U盘的操作。 1、在桌面,右击鼠标,弹出下面的界面: 2、点击上图中的“打开终端”&#…

[redis] redis的安装,配置与简单操作

一、缓存的相关知识 1.1 缓存的概念 缓存是为了调节速度不一致的两个或多个不同的物质的速度,在中间对速度较慢的一方起到加速作用,比如CPU的一级、二级缓存是保存了CPU最近经常访问的数据,内存是保存CPU经常访问硬盘的数据,而且…

PyQT5+MySQL的学生信息管理系统【附源码,运行简单】

PyQT5MySQL的学生信息管理系统【附源码,运行简单】 总览 1、《学生成绩管理系统》1.1 方案设计说明书设计目标需求分析工具列表 2、详细设计2.1 登录2.2 程序主页面2.3 学生新增界面2.4 学生更改界面2.4 学生删除界面2.5 其他功能贴图 3、下载 总览 自己做的项目&a…

YOLOv5改进 | 2023注意力篇 | MSDA多尺度空洞注意力(附多位置添加教程)

一、本文介绍 本文给大家带来的改进机制是MSDA(多尺度空洞注意力)发表于今年的中科院一区(算是国内计算机领域的最高期刊了),其全称是"DilateFormer: Multi-Scale Dilated Transformer for Visual Recognition"。MSDA的主要思想是通过线性投影得到特征图X的相应查…

windows下使用PowerShell切割大数据文件

测试文件为24.4G文件 打开PowerShell窗口,使用以下命令 $filePath 为指向文件路径 $outputPath 输出到指定文件夹 $chunkSize 单个文件控制切割大小 将命令修改完后,直接粘贴到powershell窗口,点击回车即可进行切割 $filePath "D:\…

ARM工控机Node-red使用教程

嵌入式ARM工控机Node-red安装教程 从前车马很慢书信很远,而现在人们不停探索“科技改变生活”。 智能终端的出现改变了我们的生活方式,钡铼技术嵌入式工控机协助您灵活布建能源管理、大楼自动化、工业自动化、电动车充电站等各种多元性IoT应用&#xff…

使用Docker-Compose部署MySQL一主二从同步高可用MHA集群

文章目录 🔊博主介绍🥤本文内容准备mysql一主二从同步集群一主二从同步集群规划需要安装docker和docker-compose命令形式安装安装docker安装docker-compose 宝塔面板形式安装 部署Master节点的docker-compose.yaml文件部署MySQL从节点1的docker-compose.…

XML技术分析01

一、什么是XML eXtensible Markup Language ——可扩展标记语言 1、标记( markup )及标记语言: markup的含义是指插入到文档(document)中的标记 标记:是以标志的格式附加在文档中的。标志赋予文档的某一部分一个标记的标识…

解决flask启动报错:ImportError: DLL load failed while importing _dukpy: 找不到指定的程序

现象: 原因:dukpy没有win32执行库 解决办法: 到lfd.uci.edu 第三方库下载dukpy的win32 whl文件 注意: 需要跟你python版本和windows平台(32位/64位)对应 https://www.lfd.uci.edu/~gohlke/pythonlibs/#…

科技感十足界面模板

科技感界面 在强调简洁的科技类产品相关设计中,背景多数分为:颜色或写实图片两种。 颜色很好理解,大多以深色底为主。强调一种神秘感和沉稳感,同时可以和浅色的文字内容形成很好的对比。 而图片背景的使用,就要求其…

小白入门基础 - Spring的Bean超详解

1.Spring工厂类的继承方式 从上面可以看出,创建工厂类,可以通过ClassPathXmlApplicationContext和FileSystemXmlApplicationContext这两种方式: FileSystemXmlApplicationContext从磁盘加载配置文件,此时就需要使用绝对路径。 pub…

2024跨境电商测评还能做吗?

基本上做跨境电商这块的都做过测评 原因也很简单,一方面review是产品转化率的重要保证,另一方面一个好的测评订单也可以有效的提升产品的关键词排名和点击率转化率 为什么说现在找测评是越来越难了呢 大环境因素是亚马逊卖家越来越多了,内…

ShardingSphere-JDBC学习笔记

引言 开源产品的小故事 Sharding-JDBC是2015年开源的,早期的定位就是一个分布式数据库的中间件,而在它之前有一个MyCat的产品。MyCat也是从阿里开源出来的,作为分库分表的代名词火了很长一段时间,而MyCat早年的目标就是想进入ap…

云计算:OpenStack 分布式架构管理VXLAN网络(单控制节点与多计算节点)

目录 一、实验 1.环境 2.各节点新增网卡准备VXLAN网络 3.控制节点配置私有网络 4.计算节点1配置私有网络 5.计算节点2配置私有网络 6.重启服务 7.修改Dashboard 8.新建项目(租户)及用户 9.新建网络与子网 10.新建实例 11.新建路由 12.新增浮…

使用PyTorch实现去噪扩散模型

在深入研究去噪扩散概率模型(DDPM)如何工作的细节之前,让我们先看看生成式人工智能的一些发展,也就是DDPM的一些基础研究。 VAE VAE 采用了编码器、概率潜在空间和解码器。在训练过程中,编码器预测每个图像的均值和方差。然后从高斯分布中对…

用友NC word.docx 任意文件读取漏洞复现

0x01 产品简介 用友NC是一款企业级ERP软件。作为一种信息化管理工具,用友NC提供了一系列业务管理模块,包括财务会计、采购管理、销售管理、物料管理、生产计划和人力资源管理等,帮助企业实现数字化转型和高效管理。 0x02 漏洞概述 用友NC 系统word.docx等接口存在任意文件…

Java调用shell脚本实现数据库备份功能

本篇文章主要介绍怎样使用Java程序,执行服务器上的数据库备份Shell脚本进行MySQL数据库的备份功能。 学习目标 使用Java执行Shell脚本、实现MySQL数据库的备份功能。 学习内容 编写导出MysSQL数据库的Shell脚本 以下是一个使用Bash脚本进行数据库备份的示例代码…

每天刷两道题——第七天+第八天

力扣官网 1.1移动零 给定一个数组 n u m s nums nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序,在不复制数组的情况下原地对数组进行操作。 输入: nums [0,1,0,3,12] 输出: [1,3,12,0,0] 代码 def moveZeroea…