Nginx HTTPS(证书) 部署实战

news2024/12/23 9:26:10

一、申请证书与认证

要搭建https服务首先需有SSL证书,证书通常是在第三方申请,在阿里云的安全服务中有SSL证书这一项,可以在里面申请免费的证书。也可以在自己电脑中生成,虽然也能完成加密,但是浏览器是不认可的,因此最好还是去第三方申请。

1、准备域名

域名注册_域名查询_域名申请_域名购买_域名续费_国际域名-万网-阿里云品牌

阿里域名网站购买一个便宜的一年期限的域名使用即可。

  

2、 准备云服务器

云服务器ECS_云主机_服务器托管_计算-阿里云

新用户可免费使用,或者按需按量购买,使用完释放掉。 

本次实验是领取试用的Centos7服务器。 

然后做DNS解析添加对应记录 

3、 准备SSL证书

https://yundunnext.console.aliyun.com/?spm=5176.21213303.J_qCOwPWspKEuWcmp8qiZNQ.67.56bc2f3dNSBeOs&p=cas&accounttraceid=54d668fd6d644539a55fe13f8352d648lwea#/overview

申请个人测试使用的证书,无需付费。

二、证书下载与配置

1、准备Nginx服务 

在云服务器中下载一个Nginx的web服务用来测试

yum -y install nginx

启动并设置开机自启

systemctl enable --now nginx

浏览器输入ECS云服务器公网IP

查看是否正常打开网页访问

还没有配置证书,这里显示的就是不安全的。 

2、证书下载

 

下载配置文件之后,需要将其解压,解压之后可以看见里面包含了两个证书文件  

 接着需要把这两个证书文件给复制到服务器当中去,首先需要在服务器创建对应的文件夹,参考命令如下

cd /etc/nginx/ && mkdir cert

在服务器创建完成对应文件夹之后,将证书文件复制到服务器中

[root@aliyun nginx]# cd /etc/nginx/cert/
[root@aliyun cert]# yum install -y unzip

[root@aliyun cert]# ll
total 8
-rw-r--r-- 1 root root 4126 Jun 21 19:28 13759957_www.luzhengzheng.icu_nginx.zip

[root@aliyun cert]# unzip 13759957_www.luzhengzheng.icu_nginx.zip 
Archive:  13759957_www.luzhengzheng.icu_nginx.zip
Aliyun Certificate Download
  inflating: www.luzhengzheng.icu.pem  
  inflating: www.luzhengzheng.icu.key  
[root@aliyun cert]# ll
total 16
-rw-r--r-- 1 root root 4126 Jun 21 19:28 13759957_www.luzhengzheng.icu_nginx.zip
-rw-r--r-- 1 root root 1679 Jun 21 19:28 www.luzhengzheng.icu.key
-rw-r--r-- 1 root root 3846 Jun 21 19:28 www.luzhengzheng.icu.pem



3、证书配置

证书复制完成之后,可以对nginx配置文件进行更改,使用vi或vim命令编辑nginx配置文件,参考命令如下:

[root@aliyun ~]# cd /etc/nginx/
#备份
[root@aliyun nginx]# cp nginx.conf nginx.conf.bak

vim /etc/nginx/nginx.conf

该文件的完整代码便于复制:

# For more information on configuration, see:
#   * Official English Documentation: http://nginx.org/en/docs/
#   * Official Russian Documentation: http://nginx.org/ru/docs/

user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;

# Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;

events {
    worker_connections 1024;
}

http {
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile            on;
    tcp_nopush          on;
    tcp_nodelay         on;
    keepalive_timeout   65;
    types_hash_max_size 4096;

    include             /etc/nginx/mime.types;
    default_type        application/octet-stream;

    # Load modular configuration files from the /etc/nginx/conf.d directory.
    # See http://nginx.org/en/docs/ngx_core_module.html#include
    # for more information.
    include /etc/nginx/conf.d/*.conf;

    server {
        listen       80;
        listen       [::]:80;
        server_name  www.luzhengzheng.icu;
        root         /usr/share/nginx/html;
        return 301 https://$host$request_uri;
        # 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 {
        }
    }
    server {
        listen 443 ssl;
        server_name www.luzhengzheng.icu;
        access_log  /var/log/nginx/https_access.log  main;

    # 配置 SSL 证书和密钥文件
        ssl_certificate   /etc/nginx/cert/www.luzhengzheng.icu.pem;
        ssl_certificate_key  /etc/nginx/cert/www.luzhengzheng.icu.key;

    # 设置 SSL 会话的超时时间
        ssl_session_timeout 5m;

    # 启用的 SSL 协议版本
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

    # 配置 SSL 加密套件
        ssl_ciphers  ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
        ssl_prefer_server_ciphers on;
 
        location / {
            # 配置根目录
            root  /usr/share/nginx/html;
            # 设置默认首页文件
            index index.html index.htm;
        }

    }
}

下图是更改的部分供对照参考  

 

 

4、重启nginx

 修改配置文件之后,需要测试nginx配置文件是否正确

[root@aliyun nginx]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@aliyun nginx]# nginx -s reload

 

5、windows本地配置域名解析

C:\Windows\System32\drivers\etc\hosts

需要用记事本的管理员身份打开编辑

添加上对应的公网IP 和 域名

8.130.44.64 www.luzhengzheng.icu

三、访问域名测试

打开浏览器输入域名访问

 

注意:

       本实验试用阿里云cengos7系统,nginx版本为1.20.1  ,配置完成后,试用谷歌浏览器访问会出现失败,使用edge浏览器可以正常访问,因版本配置不同会些许造成差异。

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

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

相关文章

编译 CanMV 固件

前言 上一章节中已经搭建好了基于 CanMV 的 C 开发环境,这么一来便可以进行基于 C 语言和 FreeRTOS 的应用开发或者编译基于 MicroPython 语法的应用开发方式所需的 CanMV 固件,本 章就将带领读者体验一下 CanMV 固件的编译流程。 本章分为如下几个小节&…

Java面试题:mysql执行速度慢的原因和优化

Sql语句执行速度慢 原因 聚合查询 多表查询 表数据量过大查询 深度分页查询 分析 sql的执行计划 可以使用EXPLAIN或者DESC获取Mysql如何执行SELECT语句的信息 直接在select语句前加关键字explain/desc 得到一个执行信息表 信息字段分析 possible_keys:可能使用到的索…

云计算【第一阶段(18)】磁盘管理与文件系统

一、磁盘基础 磁盘(disk)是指利用磁记录技术存储数据的存储器。 磁盘是计算机主要的存储介质,可以存储大量的二进制数据,并且断电后也能保持数据不丢失。 早期计算机使用的磁盘是软磁盘(Floppy Disk,简称…

海外社媒网站抓取经验总结:如何更高效实现网页抓取?

有效的网络抓取需要采取战略方法来克服挑战并确保最佳数据提取。让我们深入研究一些关键实践,这些实践将使您能够掌握复杂的网络抓取。 一、了解 Web 抓取检测 在深入探讨最佳实践之前,让我们先了解一下网站如何识别和抵御网络爬虫。了解您在这一过程中…

深度神经网络一

文章目录 深度神经网络 (DNN)1. 概述2. 基本概念3. 网络结构 深度神经网络的层次结构详细讲解1. 输入层(Input Layer)2. 隐藏层(Hidden Layers)3. 输出层(Output Layer)整体流程深度神经网络的优点深度神经…

[行业原型] 线上药房管理系统

​行业背景 据中国网上药店理事会调查报告显示:2011年,医药B2C的规模达到4亿元,仅出现5家销售额达5000万元的网上药店。而2011年医药行业的市场规模达到3718亿,线上药品的销售额还不到网下药店的一个零头,还有很大的发…

C++类基本常识

文章目录 一、类的默认方法二、类的成员变量初始化1 类的成员变量有三种初始化方法:2 成员变量初始化顺序3 const和static的初始化 三、C内存区域四、const和static 一、类的默认方法 C的类都会有8个默认方法 默认构造函数默认拷贝构造函数默认析构函数默认重载赋…

C语言基础关键字的含义和使用方法

​关键字在C语言中扮演着非常重要的角色,它们定义了语言的基本构造和语法规则,通过使用关键字,开发者可以创建变量、定义数据类型、控制程序流程(如循环和条件判断)、声明函数等。由于这些字是保留的,所以编…

springSecurity(二):实现登入获取token与解析token

登入生成token 主要思想 springSecurity使用UsernamePasswordAuthenticationToken类来封装用户名和密码的认证信息 代码实现 发起登入请求后,进入到login()方法 /*** 在接口中我们通过AuthenticationManager的authenticate方法来进行用户认证,* 所以需要在Secur…

Polyp-DDPM: Diffusion-Based Semantic Polyp Synthesis for Enhanced Segmentation

Polyp- ddpm:基于扩散的语义Polyp合成增强分割 摘要: 本研究介绍了一种基于扩散的方法Polyp-DDPM,该方法用于生成假面条件下息肉的逼真图像,旨在增强胃肠道息肉的分割。我们的方法解决了与医学图像相关的数据限制、高注释成本和隐私问题的挑…

网络编程(四)wireshark基本使用 TCP的三次握手和四次回挥手 TCP和UDP的比较

一、使用wireshark抓包分析协议头 &#xff08;一&#xff09;wireshark常用的过滤语句 tcp.port <想要查看的端口号> ip.src <想要查看的源IP地址> ip.dest <想要查看的目的IP地址> ip.addr <想要查看的IP地址>&#xff08;二&#xff09;抓包分…

DevEco鸿蒙开发请求网络交互设置

首先&#xff0c;在鸿蒙项目下config.json中找到module项&#xff0c;在里面填写"reqPermissions": [{"name": "ohos.permission.INTERNET"}] 在页面对应js文件内&#xff0c;填写import fetch from system.fetch;。 GET和POST区别 GET将表单数…

界面控件DevExpress v24.1全新发布 - 跨平台性进一步增强

DevExpress拥有.NET开发需要的所有平台控件&#xff0c;包含600多个UI控件、报表平台、DevExpress Dashboard eXpressApp 框架、适用于 Visual Studio的CodeRush等一系列辅助工具。屡获大奖的软件开发平台DevExpress 今年第一个重要版本v23.1正式发布&#xff0c;该版本拥有众多…

1. 基础设计流程(以时钟分频器的设计为例)

1. 准备工作 1. 写有vcs编译命令的run_vcs.csh的shell脚本 2. 装有timescale&#xff0c;设计文件以及仿真文件的flish.f&#xff08;filelist文件&#xff0c;用于VCS直接读取&#xff09; vcs -R -full64 -fsdb -f flist.f -l test.log 2. 写代码&#xff08;重点了解代码…

【Mac】DMG Canvas for mac(DMG镜像制作工具)软件介绍

软件介绍 DMG Canvas 是一款专门用于创建 macOS 磁盘映像文件&#xff08;DMG&#xff09;的软件。它的主要功能是让用户可以轻松地设计、定制和生成 macOS 上的安装器和磁盘映像文件&#xff0c;以下是它的一些主要特点和功能。 主要特点和功能 1. 用户界面设计 DMG Canva…

定义和反射Annotation类(注解)

文章目录 前言一、定义Annotation类二、反射Anootation类 1.元注解2.反射注解总结 前言 在写代码的过程中&#xff0c;我们经常会写到注释&#xff0c;以此来提醒代码中的点。但是&#xff0c;这些注释不会被查看&#xff0c;也不在整个代码之中&#xff0c;只能在源代码中进行…

Mistral AI最新力作——Mistral Large媲美GPT-4

Mistral AI自豪地宣布&#xff0c;他们的最新力作——Mistral Large&#xff0c;已经正式面世。这款尖端的文本生成模型不仅在多语言理解上表现出色&#xff0c;更在推理能力上达到了顶级水平。Mistral Large能够处理包括文本理解、转换和代码生成在内的复杂多语言推理任务。 M…

依赖注入(Dependency Injection, DI)在 iOS 开发中的应用

在 iOS 开发中&#xff0c;我们经常会遇到类与类之间存在依赖关系的情况。例如&#xff0c;一个视图控制器可能需要一个服务对象来处理数据&#xff0c;这种情况下&#xff0c;视图控制器就依赖于这个服务对象。传统的做法是直接在视图控制器中创建服务对象&#xff0c;但这会导…

目标跟踪算法(bytetrack)-tensorrt部署教程

一、本机安装python环境 conda create -n bytetrace_env python=3.8 activate bytetrace_env conda install pytorch torchvision cudatoolkit=10.1 -c检测GPU是否可用,不可用不行 import torch print(torch.cuda.is_available())安装bytetrack git clone https://github.c…

车辆轨迹预测系列 (二):常见数据集介绍

车辆轨迹预测系列 (二)&#xff1a;常见数据集介绍 文章目录 车辆轨迹预测系列 (二)&#xff1a;常见数据集介绍1、NuScenes (2020)&#xff1a;1、下载2、说明 2、Waymo Open Dataset (2020)&#xff1a;1、介绍2、概述3、下载4、教程5、参考 3、Lyft Level 5 (2020)&#xff…