Linux:nginx设置网站https

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.csr1.输入前面创建的密码
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.mzph.cn/news/622697.shtml

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

相关文章

Nginx的安装配置和使用

最近有好几个地方用到了nginx,但是一直还没时间记录下nginx的安装、配置和使用,这篇文章可以将这块内容整理出来,方便大家一起学习~ 安装 安装是相对简单一些的,直接使用yum即可。 yum install -y nginx 默认安装位置在/usr/sb…

大模型推理引擎面试复习大纲

Transformer原理 基本组成、注意力机制含义 transformer有哪些模块,各个模块有什么作用? transformer的模块可以分为以下几类: Encoder模块:transformer的编码器,它由多个相同的encoder层堆叠而成,每个enc…

Linux------进程的初步了解

目录 一、什么是进程 二、进程的标识符pid 三、getpid 得到进程的PID 四、kill 终止进程 五、父进程与子进程 六、目录中的进程 一、什么是进程 在windows中,我们查看进程很简单,打开任务管理器,就可以看到在运行的进程。这里我们还可以…

STM32H5 Nucleo-144 board开箱

文章目录 开发板资料下载 【目标】 点亮LD1(绿)、LD2(黄)和LD3(红)三个LED灯 【开箱过程】 博主使用的是STM32CubeMX配置生成代码,具体操作如下: 打开STM32CubeMX,File-…

TypeScript 中的“as”语法是什么?

在TypeScript中,as是一种类型断言语法,用于告诉编译器某个值的确切类型。它类似于类型转换,但不会对值进行运行时的实际转换,而只在编译时起作用。 as语法有两种形式: 类型断言:value as Type 这种形式的a…

Autosar PNC网络管理配置(2)-基于ETAS软件

文章目录 BswM初始化PNC对PDU的控制BswMModeRequestPortBswMModeConditionBswMLogicalExpressionBswMRuleBswMActionListEcuMEcuMWakeupSourceEcuMShutdownCauseEcuMRbAlSwitchOffCalloutEcuMRbOnGoOff

webpack打包机制,构建过程和配置

Webpack是一个现代的JavaScript应用程序的模块打包器(module bundler),它主要用于处理应用程序中的资源文件,例如JavaScript文件、样式文件、图像文件等,将它们打包成一个或多个最终的bundle文件,以供浏览器加载。 Webpack的构建…

Raspberry Pi 4B 蓝牙串口(SPP)配置与使用

Raspberry Pi 4B 蓝牙串口(SPP)配置与使用 文章目录 Raspberry Pi 4B 蓝牙串口(SPP)配置与使用1、蓝牙相关命令工具2、Linux中的蓝牙堆栈3、蓝牙串口配置4、蓝牙串口数据发送与接收 本文将详细介绍如何在Raspberry Pi 4B卡片电脑中…

permission路由

一.路由守卫的介绍 1.全局前置守卫 router.beforeEach 跳转到一个页面之前 执行的钩子函数A---->B A开始跳转 , 还没有到B。 2.全局解析守卫 router.beforeResolve 3.全局后置钩子 router.afterEach 跳转到一个页面之后执行的钩子函数A-B,已经到了B页面。 4.路由独享…

快速入门java网络编程基础------Nio

一. NIO 基础 哔哩哔哩黑马程序员 netty实战视频 0.什么是nio? NIO(New I/O)是Java中提供的一种基于通道和缓冲区的I/O(Input/Output)模型。它是相对于传统的IO(InputStream和OutputStream)模型…

Spring boot - Task Execution and Scheduling @Async

SpringBoot的任务执行器 Spring Boot通过auto-configuration机制自动创建了任务执行器Task Execution,因此在SpringBoot项目中,你不需要任何配置、也不需要自己创建Task Execution就可以直接使用它。 Spring Boot通过auto-configuration机制创建的任务…

一条SQL执行的过程

查看当前数据库线程数目 SHOW GLOBAL STATUS like Thread%;Threads_cached:被缓存的线程个数。Threads_connected:当前正在连接的线程个数,详细指令:SHOW FULL PROCESSLIST。Threads_created:总共创建的线程个数。Thr…

nodejs+vue+ElementUi银行贷款业务管理系统

银行贷款管理系统的主要实现功能包括:管理员:首页、个人中心、用户管理、银行管理、贷款信息管理、贷款申请管理、金额发布管理、还款信息管理、通知信息管理,用户:首页、个人中心、贷款信息管理、贷款申请管理、金额发布管理、还…

phpinfo和php -m 加载的php.ini不一致

目的: 将phpinfo在web中展示的php.ini和在命令行中展示的php.ini加载路径设置一致。 原本的php.ini加载路劲是: /usr/local/lib/php.ini 解决思路: (1)which php 查看服务器加载的php的位置,这里原来是&a…

差分算法模板

差分算法模板 一维差分一维insert函数(构造差分数组和实现区域加数操作)一维差分模板题 二维差分二维insert函数(构造差分数组和实现区域加数操作)二维差分模板题 一维差分 差分主要是计算出某个区域段的数分别加上一个数 先给定一个原数组a:a[1], a[2], a[3], a[n]…

go语言开发工作中常用命令

Go 编程语言中的常用命令主要用于构建、测试、运行和管理项目。以下是一些常见的 Go 命令,以及它们对项目的用途: go run 用途: 编译并运行 Go 程序。 示例: go run main.gogo build 用途: 编译 Go 程序&#xf…

CNN:Convolutional Neural Network(上)

目录 1 为什么使用 CNN 处理图像 2 CNN 的整体结构 2.1 Convolution 2.2 Colorful image 3 Convolution v.s. Fully Connected 4 Max Pooling 5 Flatten 6 CNN in Keras 原视频:李宏毅 2020:Convolutional Neural Network 1 为什么使用…

NumPy:从初识到实战,探索Python科学计算的无限可能

NumPy 在浩瀚的Python编程世界中,有一个强大的库如星辰般璀璨,它是数据科学家、机器学习工程师乃至量化金融分析师手中的利器——NumPy,它以其高效的数据处理能力和便捷的矩阵运算机制,在科研与工程领域中占据着举足轻重的地位。…

Java BIO、NIO(通信/群聊系统、零拷贝)、AIO

Java BIO、NIO(通信/群聊系统、零拷贝)、AIO BIO、NIO、AIO特点和场景 BIO(Blocking I/O)、NIO(Non-blocking I/O)、AIO(Asynchronous I/O)是Java中用于处理I/O操作的三种不同的I/O模型,它们具…

P1080 [NOIP2012 提高组] 国王游戏 贪心

[NOIP2012 提高组] 国王游戏 传送门 题目描述 恰逢 H 国国庆,国王邀请 n n n 位大臣来玩一个有奖游戏。首先,他让每个大臣在左、右手上面分别写下一个整数,国王自己也在左、右手上各写一个整数。然后,让这 n n n 位大臣排成一…