SSL证书配置

news2024/9/24 19:24:13

SSL证书配置

    • 证书申请
    • nginx 配置ssl证书

今天群友发现我的博客证书过期了,重新申请一个免费的部署一下

在这里插入图片描述

证书申请

在这里插入图片描述

点击创建证书
image.png

绑定对应的域名,选择快捷签发,点击提交审核
image.png

image.png

点击验证,如果购买的域名和服务器都在同一个账号下,系统会自动帮你配置一条记录类型为 TXT 的 DNS 解析, 并告诉你域名验证成功。

TIP : 如果域名和服务器不在同一个账号上,则需要你自己登录域名所属账号,手动添加 DNS 解析记录,然后再验证提交审核。

image.png

签发成功后,将该SSL证书下载
image.png

选择Nginx类型的SSL证书(是啥服务器就选择啥),将其下载到本地
image.png

将下载好的证书解压(.key和.pem后缀),然后上传到服务器上,(/docker/nginx/cert,此目录用来存放ssl证书)

image.png

因为我这里之前已经配置过了Nginx上的ssl相关配置,我只需要重新启动Nginx即可。docker restart nginx,好嘞博客出现啦!,有时间去改改样式,太丑了。
在这里插入图片描述

nginx 配置ssl证书

这里以网站域名来命名的 ssl 配置文件,你可以根据自己的实际域名来自定义文件名,只要是 .conf 结尾就行,Nginx 都会正常加载

nginx/conf.d/目录下,新建xxxx.conf文件,用于配置ssl证书。

修改defaut.conf配置文件的内容

server {
    listen       80;
    listen  [::]:80;

  
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}

新建robindeblog_ssl.conf,内容如下

server {
    listen 80;
    listen  [::]:80;
    server_name robindeblog.cn www.robindeblog.cn;
    # 将所有 http 请求 301 重定向到 https 请求,
    return 301 https://www.robindeblog.cn$request_uri;
}

server { 
    # 监听 443 https 端口 , 启用 HTTP/2 协议。HTTP/2HTTP 协议的下一版本,它引入了一些性能优化,例如多路复用(Multiplexing)和头部压缩,以提高页面加载速度。
    listen 443 ssl http2;
    # 域名,修改成你自己的
    server_name robindeblog.cn www.robindeblog.cn;

    client_max_body_size 100M;
    # Nginx 容器中的 ssl 证书存放路径(后续会挂载到宿主机的 /docker/nginx/cert/ 目录下)
    ssl_certificate /etc/nginx/cert/www.robindeblog.cn.pem;
    ssl_certificate_key  /etc/nginx/cert/www.robindeblog.cn.key;
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;

    location / {
        try_files $uri $uri/ @router;
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }

    location @router {
        rewrite ^.*$ /index.html last;
    }

    location /api {
        rewrite  ^/api/(.*)$ /$1 break;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        # 反向代理到后台 Web 服务
        proxy_pass http://172.17.0.1:8080;
    }

    #error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}

注意点1:这里配置的 SSL 证书路径在 /etc/nginx/cert/ 目录下,等会正式启动容器时,需要将这个目录挂载到宿主机的 /docker/nginx/cert 目录,否则 Ngnix 启动时会找不到文件。
注意点2:将原本在 default.conf 的反向代理配置统一移动到了 robindeblog_ssl.conf 的配置文件中,方便后续以网站为维度来做管理。当你准备上线一个新网站时,只需再另外新建一个 conf 配置文件即可。

img.robindeblog.cn

server { 
    # 监听 443 https 端口 , 启用 HTTP/2 协议
    listen 443 ssl http2;
    # 图床服务的域名,修改成你自己的
    server_name img.robindeblog.cn;

    client_max_body_size 100M;
    # 图床域名的 ssl 证书
    ssl_certificate /etc/nginx/cert/img.robindeblog.cn.pem;
    ssl_certificate_key  /etc/nginx/cert/img.robindeblog.cn.key;
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;

   location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        # 反向代理到 Minio 9000 端口
        proxy_pass http://172.17.0.1:9000;
    }

    #error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}

删除掉原有的容器,重新创建一个nginx容器(因为需要指定数据卷映射—有数据卷映射就不需要删除了)

docker rm -rf nginx
docker run -d \ 
-p 80:80 -p 443:443 \ 
--name nginx \
-v /docker/nginx/nginx.conf:/etc/nginx/nginx.conf \
-v /docker/nginx/conf.d:/etc/nginx/conf.d \
-v /docker/nginx/logs:/var/log/nginx \
-v /docker/nginx/cert:/etc/nginx/cert \
-v /docker/nginx/html:/usr/share/nginx/html \
nginx:1.19.4 

参数说明:

  • -p 80:80 -p 443:443:将容器的 80、443 端口映射到主机的 80、443 端口;
  • –restart=always: Docker 重启时,容器也跟着重启;
  • -v /docker/nginx/nginx.conf:/etc/nginx/nginx.conf:将容器中的 /etc/nginx/nginx.conf 文件挂载到宿主机中的 /docker/nginx/nginx.conf 文件;
  • -v /docker/nginx/conf.d:/etc/nginx/conf.d:将容器中 /etc/nginx/conf.d 目录挂载到宿主机中的 conf.d 目录下;
  • -v /docker/nginx/logs:/var/log/nginx:将容器中的 /var/log/nginx 目录挂载到宿主机中的 /docker/nginx/logs 目录下, 用以查看 Nginx 日志;
  • -v /docker/nginx/cert:/etc/nginx/cert : 将容器中的 /etc/nginx/cert 目录挂载到宿主机中 /docker/nginx/cert:/etc/nginx/cert 目录下,用于容器内部能够正常读取到 SSL 证书;
  • -v /docker/nginx/html:/usr/share/nginx/html : 将前端工程所在的目录,挂载到容器中的 /usr/share/nginx/html 文件夹上;

最后记得安全组策略开放443端口 https端口,这样才能正常访问。

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

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

相关文章

WPF学习(7)- Control基类+ContentControl类(内容控件)+ButtonBase基类

前面给大家介绍完了WPF所有的布局控件,属性以及使用案例,从这里咱们就开始学下内容控件。 Control基类 Control是许多控件的基类。比如最常见的按钮(Button)、单选(RadioButton)、复选(CheckBox)、文本框…

AIGC大模型实践总结(非常详细)零基础入门到精通,收藏这一篇就够了

大模型浪潮席卷全球,在各行各业中的重要性愈发凸显,呈现出一股不可逆转的发展趋势。这一年本人所在业产技也在这一过程中持续探索和尝试AIGC。本文一方面是对AIGC实践的总结回顾,同时也是本人学习实践AIGC过程中一些笔记、心得分享。因个人能…

Linux云计算 |【第二阶段】CLUSTER-DAY4

主要内容: 块存储应用案例(快照、快照回滚、快照克隆)、分布式文件系统(文件系统的构成:inode和block,创建存储池实现inode和block)、对象存储(radosgw) 补充&#xff1…

C++ STL与string类

一 什么是STL? STL,全称是标准模板库(Standard Template Library),是C标准库的一部分。STL提供了一些常用的数据结构和算法,帮助开发者更方便、高效地编写代码。通过使用STL,开发者不需要重复造…

吴恩达机器学习笔记 三十九 协同过滤的TensorFlow实现

TensorFlow的一个优点:可以自动算出成本函数的导数 如上图,设 f( x ) wx,成本 J 为(wx - 1)^2,用GradientTape()这个函数,TensorFlow会记录计算成本J所需的操作序列,保存在 tape 中。 dJdw为自动计算出的导…

图片转文字怎么操作?教你几招图片转文字小妙招

在日常的工作学习中,我们每天可能会接触到大量的图片资料,无论是会议纪要、书籍扫描页、还是网络上的有用信息截图,如果能快速将这些图片中的文字提取出来,无疑将极大提升我们的工作效率。下面给大家分享几种能够将图片转换成文字…

AI学习记录 - 自注意力机制的计算流程图

过段时间解释一下,为啥这样子计算,研究这个自注意力花了不少时间,网上很多讲概念,但是没有具体的流程图和计算方式总结…

多线程 01:Java 多线程学习导航,线程简介,线程相关概念的整理

一、概述 记录时间 [20240807] 立秋 & 128 创作纪念日 本文是关于 Java 多线程学习的导航篇,总览了有关多线程学习的几个模块。简单介绍了一些与线程相关的基本概念,便于后续展开多线程的学习。 前置知识:Java 基础篇;Java 面…

腾讯云AI代码助手的实用性能以及带给开发者的便捷开发陪伴

腾讯云AI代码助手的实用性能以及带给开发者的便捷开发陪伴 前言一、开发环境介绍二、腾讯云AI代码助手使用实例1 一键代码补全2 与腾讯云ai代码助手对话3 直接对源码进行注释,查错 三 获得的帮助与提升四 对腾讯云AI代码助手的建议总结 前言 在日常的编程工作的生活…

SQL报错注入之updatexml

目录 1.updatexml报错原理 2.判断是否有注入点 我们在地址栏中输入?id1 我们在地址栏中输入?id1-- 3.updatexml报错注入 3.1爆库名 3.2爆表名 3.3爆字段名 3.4爆数据 1.updatexml报错原理 updatexml(xml_doument,XPath_string,new_value) 第一个参数:XML…

07-软件参数的基本配置

1.设置交叉 2.Design insight 关闭 3.数据保存设置 4.原理图设置 5.PCB-General设置 PCB-Board Insight Modes设置 PCB-Board Insight Color Overrides PCB-DRC Violations Display PCB-Interactive Routing PCB-Defaults

【C++】C++11的新特性 — 线程库 ,原子操作 , 条件变量

勇敢就是接受发生在你身上的事,并把它尽力做到最好。 -- 约翰・欧文 -- C11的新特性 1 线程1.1 线程概念1.2 C中的线程1.3 线程并行1.4 锁 2 原子操作3 条件变量Thanks♪(・ω・)ノ谢谢阅读!!!下…

最短路问题中的bellman-ford算法

最短路问题中的bellman-ford算法 题目 如果要处理单源最短路问题当中存在负权边的,那么就需要用到 bellman-ford算法和SPFA算法,一般情况下都是用 SPFA算法,除了有边数限制的情况只能用bellman-ford算法,比如下面这种 题目 给定…

SVG入门指南

前言 SVG 是一种使用 XML 描述 2D 图形的语言&#xff0c;与传统前端 DOM 开发比较类似&#xff0c;本文尝试总结一下 SVG 的基本用法。 基本图形绘制 与 canvas 不同&#xff0c;svg 使用声明式的方式来绘制图形&#xff0c;比如绘制一个矩形&#xff1a; <svg width&q…

Elastic 利用由 Search AI 提供支持的自动导入功能加速 SIEM 数据导入

作者&#xff1a;来自 Elastic Jamie Hynds, Mark Settle Elastic 正在通过自动导入功能自动完成 SIEM 数据导入&#xff0c;从而加速采用 AI 驱动的安全分析。这项新功能&#xff08;安全分析或 SIEM 解决方案中独一无二的功能&#xff09;可自动开发自定义数据集成。Elastic …

轻松上手MYSQL:掌握MYSQL聚合函数,数据分析不再难

​&#x1f308; 个人主页&#xff1a;danci_ &#x1f525; 系列专栏&#xff1a;《设计模式》《MYSQL》 &#x1f4aa;&#x1f3fb; 制定明确可量化的目标&#xff0c;坚持默默的做事。 ✨欢迎加入探索MYSQL聚合函数之旅✨ &#x1f44b; 大家好&#xff01;文本学习和探…

240807-Gradio客户端GUI与服务端API分离代码示例

A. 客户端服务端分离的最终效果 B. 前后端核心代码 Gradio支持将前端界面&#xff08;客户端&#xff09;与后端逻辑&#xff08;服务端&#xff09;分离。通过这种方式&#xff0c;客户端负责用户交互和显示&#xff0c;而服务端负责实际的数据处理和功能实现。 以下是如何实…

买Zoho企业邮箱赠公司后缀的域名吗?

随着市场上企业邮箱服务提供商的增多&#xff0c;选择适合自身需求的服务变得尤为重要。其中一个常见的问题是&#xff1a;购买Zoho企业邮箱服务时是否会赠送公司后缀的域名&#xff1f;赠送域名有哪些套路&#xff1f;本文将详细探讨这些问题。 一、买Zoho企业邮箱赠送公司后…

让三岁小孩都能理解动态规划_来自B站罐装-蜜糖

系列文章目录 文章目录 系列文章目录一、认识算法动态规划难在哪?学习目标 二、记忆化搜索 非常直觉的处理方式注意&#xff1a; 三、70.爬楼梯 入门 模板通过记忆化搜索 发现动态规划四要素 四、118.杨辉三角 使用答案空间处理&#xff08;题目给了返回值的样式&#xff09;五…

The Ether: EvilScience (v1.0.1)打靶渗透【附代码】(权限提升)

靶机下载地址: https://www.vulnhub.com/entry/the-ether-evilscience-v101,212/ 1. 主机发现端口扫描目录扫描敏感信息获取 1.1. 主机发现 nmap -sn 192.168.7.0/24|grep -B 2 00:0C:29:7F:50:FB 1.2. 端口扫描 nmap -p- 192.168.7.172 1.3. 目录扫描 dirb http://192.16…