给nginx部署https及自签名ssl证书

 一、生成服务器root证书

openssl genrsa -out root.key 2048
openssl req -new -key root.key -out root.csr
    #Country Name (2 letter code) [XX]:---> CN
    #Country Name (2 letter code) [XX]:---> CN
    #State or Province Name (full name) []:---> Shanghai
    #Locality Name (eg, city) [Default City]:---> Shanghai
    #Organization Name (eg, company) [Default Company Ltd]:---> kahn commpany
    #Organizational Unit Name (eg, section) []:---> xou
    #Common Name (eg, your name or your server's hostname) []:---> kahn.com
    #Email Address []:---> 37213690@qq.com
    #A challenge password []:---> 回车
    #An optional company name []:---> 回车
openssl x509 -req -days 3650 -in root.csr -signkey root.key -out root.crt

二、生成SSL服务器证书

openssl genrsa -out server.key 2048
openssl req -new -key server.key -out server.csr
    #Country Name (2 letter code) [XX]:---> CN
    #State or Province Name (full name) []:---> Shanghai
    #Locality Name (eg, city) [Default City]:---> Shanghai
    #Organization Name (eg, company) [Default Company Ltd]:---> kahn commpany
    #Organizational Unit Name (eg, section) []:---> xou
    #Common Name (eg, your name or your server's hostname) []:---> kahn.com
    #Email Address []:---> 37213690@qq.com
    #A challenge password []:---> 回车
    #An optional company name []:---> 回车
openssl x509 -req -in server.csr -CA root.crt -CAkey root.key -CAcreateserial -out server.crt -days 3650

#会生成如下6个文件,其中server.*用于nginx
root.crt  root.csr  root.key  root.srl  server.crt  server.csr  server.key

三、部署证书到nginx

下面是一个测试通过的nginx.conf内容


user  nginx nginx;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    #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  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

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

        #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   html;
        }
    }

    # HTTPS server
    server {
        listen       443 ssl;
        server_name  kahn.com;

        ssl_certificate      ../ssl-certs/server.crt;
        ssl_certificate_key  ../ssl-certs/server.key;

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

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

        location / {
           alias /data/www/;
           index index.html index.htm;
       }
    }
    include ../conf.d/*.conf;
}

主要看    # HTTPS server
    server {
        listen       443 ssl;
        server_name  x179.com;及以下内容。

值的注意的是,开启https是在http{}区域内部,并且和其他server{}同级。

四、验证ssl证书

openssl s_client -connect kahn.com:443

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

数据库系统架构与DBMS功能探微:现代信息时代数据管理的关键

✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭❤~✨✨ 🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua,在这里我会分享我的知识和经验。&#x…

字符串匹配——烦人的KMP

相信很多同学看到这篇文章的时候,已经被KMP拿捏了吧!KMP算法说难,倒也不是很难,手算都会,说不难吧,短短几行代码愣是看不懂,辗转反侧,翻书查阅,视频讲解,最后…

基于pytorch实现手写数字识别

1,先安装pytorch,在pytorch环境中安装库: 1)进入所安装的pytorch环境,我的是pytorch 所以激活它: conda activate pytorch 2)使用pip安装numpy,torch,torchvision,matplotlib库 pip instal…

【MDVRP多站点物流配送车辆路径规划问题(带容量限制)】基于遗传算法GA求解

课题名称:基于遗传算法求解带容量限制的多站点的物流配送路径问题MDVRP 版本时间:2023-03-12 代码获取方式:QQ:491052175 或者 私聊博主获取 模型描述: 15个城市中,其中北京,长沙和杭州三座…

Android 多桌面图标启动, 爬坑点击打开不同页面

备注 : MainActivity 正常带界面的UI MainActivityBt 和 MainActivityUsb 是透明的,即 android:theme"style/TranslucentTheme" ###场景1:只有MainActivity 设置成:android:launchMode"singleTask" 点击顺序&#xff1…

02-pycharm详细安装教程(大妈看了都会)

目录 1.官方下载pycharm 2.开始安装pycharm 3.开始运行pycharm 1.官方下载pycharm 官方:https://www.jetbrains.com/zh-cn/pycharm/download/?sectionwindows 提示:安装pycharm之前建议先安装python,因为pycharm要基于python环境才能运…

azure devops工具实践分析

对azure devops此工具的功能深挖,结合jira的使用经验的分析 1、在backlog的功能描述,可理解为需求项,这里包括了bug,从开发的角度修复bug也是个工作项,所以需求的范围是真正的需求(开发接收到的已经确认的…

二叉树的前序后序中序层序

文章目录 一、二叉树的前序遍历二、二叉树的中序三、后序四、层序 引言:首先我们讲一下什么是二叉树的前序中序后序层序 前序:从 根 左子树 右子树访问 中序:从 左子树 根 右子树访问 后序:从 左子树 右子树 根访问 等到根为空的…

java面试题(spring框架篇)(黑马 )

树形图: 一、Spring框架种的单例bean是线程安全吗? Service Scope("singleton") public class UserServiceImpl implements UserService{ } singleton:bean在每个Spring IOC容器中只有一个实例 protype:一个bean的定义可以有多个…

使用 Grafana 使用JSON API 请求本地接口 报错 bad gateway(502)解决

一 . 问题: 在用docker部署Grafana 来实现仪表盘的展示,使用到比较多的就是使用JAON API插件调用本地部署的API,比如访问localhost下的 /test_data 接口,一般我们使用的是http://localhost:8080/test_data, 但是在访…

Python测试框架pytest介绍用法

1、介绍 pytest是python的一种单元测试框架,同自带的unittest测试框架类似,相比于unittest框架使用起来更简洁、效率更高 pip install -U pytest 特点: 1.非常容易上手,入门简单,文档丰富,文档中有很多实例可以参考 2.支持简单的单…

计算机网络-第2章 物理层

本章内容:物理层和数据通信的概念、传输媒体特点(不属于物理层)、信道复用、数字传输系统、宽带接入 2.1-2.2 物理层和数据通信的概念 物理层解决的问题:如何在传输媒体上传输数据比特流,屏蔽掉传输媒体和通信手段的差…

Java学习27--IDEA常用快捷键

智能显示相关提示:altenter,用来快速生成Scanner,或者new object等等,也可以爆红线求提示 代码模板大全ctrlj 可以快速生成try catch finally模块的surround with:ctrlaltt(我换成了altc) 生成getter/setter/构造器等结构-genera…

武器大师——操作符详解(下)

目录 六、单目操作符 七、逗号表达式 八、下标引用以及函数调用 8.1.下标引用 8.2.函数调用 九、结构体 9.1.结构体 9.1.1结构的声明 9.1.2结构体的定义和初始化 9.2.结构成员访问操作符 9.2.1直接访问 9.2.2间接访问 十、操作符的属性 10.1.优先性 10.2.结合性 …

【MySQL】SQL 优化

MySQL - SQL 优化 1. 在 MySQL 中,如何定位慢查询? 1.1 发现慢查询 现象:页面加载过慢、接口压力测试响应时间过长(超过 1s) 可能出现慢查询的场景: 聚合查询多表查询表数据过大查询深度分页查询 1.2 通…

2023 版王道单科书勘误汇总(3.30)

注:因2023版对题目编号做了优化“历年真题全部放最后、且按年份排序”,以方便大家根据需要保留某些年份的真题作为最后的模拟。所以造成了一些题目和解析的编号错误。 数据结构: P11 P20 P56 P278 P326 “2.”中第 3 行”题 5改成”9”,第6行”题 8”改成…

线性表——单链表的增删查改

本节复习链表的增删查改 首先, 链表不是连续的, 而是通过指针联系起来的。 如图: 这四个节点不是连续的内存空间, 但是彼此之间使用了一个指针来连接。 这就是链表。 现在我们来实现链表的增删查改。 目录 单链表的全部接口…

【EAI 027】Learning Interactive Real-World Simulators

Paper Card 论文标题:Learning Interactive Real-World Simulators 论文作者:Mengjiao Yang, Yilun Du, Kamyar Ghasemipour, Jonathan Tompson, Leslie Kaelbling, Dale Schuurmans, Pieter Abbeel 作者单位:UC Berkeley, Google DeepMind, …

探索设计模式的魅力:备忘录模式揭秘-实现时光回溯、一键还原、后悔药、历史的守护者和穿越时空隧道

​🌈 个人主页:danci_ 🔥 系列专栏:《设计模式》 💪🏻 制定明确可量化的目标,并且坚持默默的做事。 备忘录模式揭秘-实现时光回溯、一键还原、后悔药和穿越时空隧道 文章目录 一、案例场景&…

19.1 SpringBoot入门

19.1 SpringBoot入门 1. SpringBoot1.1 简介1.2 核心特点1.3 SpringBoot演变1.4 SpringBoot版本1. SpringBoot 1.1 简介 1.2 核心特点