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…

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

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

STM32H5 Nucleo-144 board开箱

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

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

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

快速入门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机制创建的任务…

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]…

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模型,它们具…

day16 二叉树的最大深度 n叉树的最大深度 二叉树的最小深度 完全二叉树的节点数

题目1:104 二叉树的最大深度 题目链接:104 二叉树的最大深度 题意 二叉树的根节点是root,返回其最大深度(从根节点到最远叶子节点的最长路径上的节点数) 递归 根节点的的高度就是二叉树的最大深度 所以使用后序遍…

系列六、Spring Security中的认证 授权 角色继承

一、Spring Security中的认证 & 授权 & 角色继承 1.1、概述 关于Spring Security中的授权,请参考【系列一、认证 & 授权】,这里不再赘述。 1.2、资源类 /*** Author : 一叶浮萍归大海* Date: 2024/1/11 20:58* Description: 测试资源*/ Re…

思科模拟器中环境条件设置第一步

一直设想若上图中的温度在不同房间显示和物理环境一样的结果。 于是乎看了 经过实验 原因是 在模拟器的physcial中设置就可以实现不同的温度。 接下来就是合理使用了! 对类似实验感兴趣的同学,一起加入尝试:微信号imaguofeng 2024年1月14…

计算机找不到vcomp140.dll怎样修复?马上教会你修复dll问题

在计算机系统运行过程中,遭遇“vcomp140.dll丢失”的场景并不少见,这一问题的出现往往伴随着软件无法正常启动、运行时错误提示或者系统性能下降等现象。具体场景可能包括但不限于:用户在尝试打开某个依赖于Visual C Redistributable库的应用…

数据在AI图像修复任务中的核心作用

在人工智能(AI)领域,数据的重要性不言而喻。尤其在图像修复任务中,数据的精度和质量直接影响着AI模型的性能。图像修复是指利用AI技术自动识别图像中的缺陷或遮挡物,并对其进行修复或还原的过程。这项技术广泛应用于各…

基于pyradiomics影像组学特征提取

基于pyradiomics影像组学特征提取 特征提取:1 pyradiomics的使用:1.1,在python环境下安装pyradiomics:1.2,设置特征提取器,获得想要特征:1.2.1 图像类型1.2.2 目标特征设置1.2.3 特征提取器设置 2 代码示例;参考&#…

【web服务搭建实验】之nginx基础学习

目录 一、nginx的简介二、nginx安装实验虚拟主机的配置web服务器的主流实现方式-LAMP和LNMP 一、nginx的简介 Nginx是一款轻量级HTTP服务器,同时也是代理邮箱服务器,具备反向代理,通用代理的功能。支持多个系统,和不同操作系统。…

【算法】Java-二叉树的右视图(BFS、DFS两种解法)

题目要求: 给定一个二叉树的 根节点 root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。 示例 1: 输入: [1,2,3,null,5,null,4] 输出: [1,3,4]示例 2: 输入: [1,null,3] 输出: [1,3]示例 3: 输入…