在nginx中部署https服务,详细步骤

2023-11-17

目录

前言

一、https是什么?

二、部署步骤

1.下载SSL证书

2.上传文件

3.解压文件

4.在nginx.conf配置文件中,修改https服务

5.修改hosts文件

6.http跳转到https中

三、注意事项


前言

Web服务器一般指网站服务器,可以处理浏览器等Web客户端的请求并返回相应响应,也可以放置网站文件,让全世界浏览;可以放置数据文件,让全世界下载。最主流的三个Web服务器是Apache、 Nginx 、IIS。本文主要介绍nginx中部署https服务的具体流程,也是搭建web的开端与主要步骤之一。


一、https是什么?

https英文全称是hypertext transfer protocol secure,是以安全为目标的http通道,在http的基础上通过传输加密和身份认证保证了传输过程的安全性。可以有效防止数据窃听与截获泄密,保障网络的安全。https的加密过程需要用到公钥、私钥,流程如下:

二、部署步骤

1.下载SSL证书

在云服务器(阿里云、腾讯云等)上为所购买的域名申请SSL证书,根据服务器的类型点击下载,因此本文选择nginx服务器。本文个人域名以cdn.xxx.xyz为例。

2.上传文件

将下载好的证书压缩包通过xftp上传到nginx安装目录的conf下。此处一定记得要指定目录。 此时可以在conf目录下查看到上传的文件。

[root@lianyu conf]pwd
/usr/local/scnginx99/conf
[root@lianyu conf]ls
cdn.xxx.xyz_nginx.zip  fastcgi.conf.default  fastcgi_params.default  koi-utf  mime.types          nginx.conf   nginx.conf.default  scgi_params.default  uwsgi_params.default
fastcgi.conf                    fastcgi_params        htpasswd                koi-win  mime.types.default  nginx.conf~  scgi_params         uwsgi_params         win-utf
 

3.解压文件

输入unzip命令对文件进行解压会看到以 .key (私钥)与 .pem(公钥) 结尾的两个文件

[root@lianyu conf] unzip cdn.xxx.xyz_nginx.zip 
Archive:  cdn.xxx.xyz_nginx.zip 
  inflating: cdn.xxx.xyz_nginx/cdn.xxx.xyz_bundle.pem  #公钥
  inflating: cdn.xxx.xyz_nginx/cdn.xxx.xyz.key  #私钥

若显示未找到命令,则需要安装解压软件后,再进行解压操作

[root@lianyu conf] yum install unzip -y

4.在nginx.conf配置文件中,修改https服务

在nginx的编译安装中应在配置项,添加--with-http_ssl_module,启用该模块nginx.conf的配置文件中才会展示https服务的部分。安装的具体操作步骤可见上一条博客。

在nginx安装目录下的conf文件中编辑nginx.conf文件,修改https的配置,在该模块中更改具体的域名,公钥,私钥,其他代码行保持默认并取消注释。将server_name 修改成证书绑定的域名,ssl_certificate 修改成证书解压后得到的 .pem 文件 ,将ssl_certificate_key 修改成解压后得到的 .key 文件,其他代码保持默认。

    server {
        listen       443 ssl;
        server_name  cdn.xxx.xyz; #证书绑定的域名

        ssl_certificate   cdn.xxx.xyz_nginx/cdn.xxx.xyz_bundle.pem  ; #解压文件后对应的公钥

        ssl_certificate_key  cdn.xxx.xyz_nginx/cdn.xxx.xyz.key  ; #解压文件后对应的私钥

        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;

        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;

        location / {
            root   html;
            index  index.html index.htm;
        }
    }

修改保存后检查配置语法的正确性以及更新配置文件

[root@lianyu conf] nginx -t
nginx: the configuration file /usr/local/scnginx99/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/scnginx99/conf/nginx.conf test is successful
[root@lianyu conf] nginx -s reload

5.修改hosts文件

hosts文件路径:C:\Windows\System32\drivers\etc
在hosts文件中添加ip与域名
如:192.168.81.128 cdn.xxx.xyz


在windows的cmd中使用ping命令验证hosts文件是否修改成功
C:\Users\钰儿yu>ping cdn.xxx.xyz

正在 Ping cdn.xxx.xyz [192.168.81.128] 具有 32 字节的数据:
来自 192.168.81.128 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.81.128 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.81.128 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.81.128 的回复: 字节=32 时间<1ms TTL=64

若显示ip地址为本人的私网ip而不是公网ip,则表示修改hosts文件步骤成功。

6.http跳转到https中

为保证无论是访问80端口还是443端口都能成功访问至https协议的安全网站中,可在http中的server里另外加入一段永久重定向的代码。

server {
    listen 80;
    server_name cdn.xxx.xyz;
    return 301 https://cdn.xxx.xyz;
        }
   

三、注意事项

以上就是今天要讲的内容,本文详细介绍了在nginx服务器中部署https的详细步骤,根据本人操作,提出几个容易忽视的错误:

1.在上传文件时,需要注意将文件上传至nginx下载目录的conf中。

2.修改配置文件后,通过nginx -t检查语法错误,若出现以下报错,考虑在配置文件中是否多打或少打花括号 { 

[root@lianyu conf]# nginx -t
nginx: [emerg] cannot load certificate "/usr/local/scnginx99/conf/cdn.xxx.xyz_bundle.pem": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/usr/local/scnginx99/conf/cdn.xxx.xyz_bundle.pem','r') error:2006D080:BIO routines:BIO_new_file:no such file)
nginx: configuration file /usr/local/scnginx99/conf/nginx.conf test failed

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在nginx中部署https服务,详细步骤 的相关文章

随机推荐

  • 火猴之产品组成热点图编程(firemonkey)

    效果图 用途 地图 产品组成 举例 以产品组成为例 如最近最火的机甲大师 思路 1 组件 TMSFMXHotSpotImage1 TMSFMXHTMLText1 2 加载背景 编辑热点区域 代码 操作 1 右键窗体 打开编辑热点窗口 2 加
  • Delphi游戏开发网址大全[转贴]

    Source Code http www codefans com CodeList Catalog 5 CodeTime Desc 1 html http www vscodes com sitemap html http www itl
  • 推荐4个Flutter重磅开源项目

    早上好 骚年 我是小 G 我的公众号 菜鸟翻身 会推荐 GitHub 上有用的项目 一分钟 get 一个优秀的开源项目 挖掘开源的价值 欢迎关注我 近年来 随着移动智能设备的快速普及 移动多端统一开发框架已成为一个热门话题 这里为你整理了
  • Tomcat配置虚拟目录

    一 直接在Tomcat的目录中配置虚拟目录 可能会出现的错误 当你输入地址 http localhost 端口号 demo 时可能会出现404 此时 可修改conf文件夹下的web xml中找到如下所示代码 将红框内false改为true即
  • React基础第一天-jsx

    React 基础 整体介绍 内容介绍 React 概述 JSX React 组件基础 React 介绍 目标 了解react的基本概念 是什么 React 官网 React 中文网 React 官网新版尝鲜 React 是用于构建用户界面的
  • 一起学nRF51xx 13 - twi & iic

    前言 在IIC总线是PHILIPS公司推出的一种串行总线 IIC总线有2根信号线SCK 时钟线 和SDA 数据线 NRF51822中所谓的TWI总线跟IIC总线兼容 这里统称为IIC总线 IIC总线规定了不同类型的从机拥有不同的IICADR
  • 分享一个关于单片机利用定时器去卡中断操作的方法

    首先 我们知道 比如我们要去实现灯的一秒一次的亮灭 一开始想到的办法肯定是加延时啦 大多数人想的肯定是 OPEN LED DELAY MS 1000 CLOSE LED DELAY MS 1000 这种方法肯定可行啦 但是有没考虑一个后果
  • 内容管理系统——后台登录

    在课上 我通过 Laravel框架开发实践 一书学习了有关PHP的知识和应用 也通过书本上的 内容管理系统 案例实践并应用了所学的知识 下面将对这一案例中的后台登录模块进行介绍 目录 前言 一 创建用户表 二 显示登录页面 1 登录表单 2
  • R语言处理Time series

    Time series Introduction Simple time series models ARIMA Validating a model Spectral Analysis Wavelets Digital Signal Pr
  • Java当中读取Json文件转换为Java对象

    这里我用的是一个hutool工具包 里面包含了很多丰富的util 并且还有中文的API
  • Qt对象树

    一 什么是对象树 Qt中的对象树就是Qt中对象间的父子关系 每一个对象都有它所有子对象的指针 都有一个指向其父 二 示例 1 创建一个MyPushButton对象 继承QPushButton 2 在mypushbutton cpp中对MyP
  • virtIO前后端notify机制详解

    本来这是在前端驱动后期分析的 但是这部分内容比较多 且分析了后端notify前端的机制 所以还是单独拿出一节分析比较好 还是拿网络驱动部分做案例 网络驱动部分有两个队列 忽略控制队列 接收队列和发送队列 每个队列都对应一个virtqueue
  • FFmpeg:UDP外网传输花屏严重问题完美解决

    1 前言 最近发现 UDP外网传输是 丢帧严重 我的环境是 视频流是济南移动 播放端是济南电信家庭宽带 由于视频流没有固定IP 所以我想了一个办法 让视频流网络穿透 直接点对点传输到我的播放端 但是发现我的播放端花屏严重 如下图 2 解决
  • 如何选择开源许可证?

    作者 阮一峰 日期 2011年5月 2日 如何为代码选择开源许可证 这是一个问题 世界上的开源许可证 大概有上百种 很少有人搞得清楚它们的区别 即使在最流行的六种 GPL BSD MIT Mozilla Apache和LGPL 之中做选择
  • R语言与金融数据分析 浙江工商学院 第一章:R简介 测试和作业

    本次作业数量为2题 作业互评时按每题50分 合计100分批改 统计成绩时系统会自动折算 要求在规定时间内完成并递交 采取同学互评的形式批改 请大家注意截止时间 按时完成 依照学术诚信条款 我保证此回答为本人原创 所有回答中引用的外部材料已经
  • 解决报错ImportError: IProgress not found. Please update jupyter and ipywidgets

    在终端 pip install ipywidgets 然后重启jupyter notebook即可
  • mysql 修改字符编码

    修改表的字符编码 查看 show create table ods goods alter table ods goods default character set utf8 修改字段的字符编码 alter table ods goods
  • 学MySQL的前置条件--会不断更新

    在MySQL软件中关于数据的操作无非就是CRUD C 插入数据记录操作 create R 查询数据记录操作 read U 更新数据记录操作 update D 删除数据操作记录 delete 所有的SQL语言中 学明白了CRUD加上实战几年
  • IDA+VirtulKD+VMware实现高速双机调试

    目录 前言 一 环境 二 配置步骤 1 配置VirtualKD 2 配置IDA 前言 我尝试只使用windbg作为调试器 但它界面不够友好 我又尝试使用IDA作为调试器 但是使用pipe传输速度太慢了 导致IDA卡的不行 单步特慢 前段时间
  • 在nginx中部署https服务,详细步骤

    目录 前言 一 https是什么 二 部署步骤 1 下载SSL证书 2 上传文件 3 解压文件 4 在nginx conf配置文件中 修改https服务 5 修改hosts文件 6 http跳转到https中 三 注意事项 前言 Web服务