如何基于nginx搭建https网站

华子目录

  • 使用nginx的http_ssl模块建立加密传输的网站
    • 查看
    • 配置文件
    • ssl配置文件的主要参数
    • 实验:搭建nginx+ssl加密认证的web服务器

使用nginx的http_ssl模块建立加密传输的网站

查看

[root@server ~]# nginx -V
#查看是否有--with-http_ssl_module模块,如果没有则需要安装mod_ssl

配置文件

  • 证书文件/...../xxx.crt
  • 私钥文件/..../xxx.key

ssl配置文件的主要参数

[root@server ~]# vim /etc/nginx/nginx.conf   #主配置文件https段,默认为注释,可以取消注释
# Settings for a TLS enabled server.
#
#    server {
#        listen       443 ssl http2;   #监听443端口
#        listen       [::]:443 ssl http2;
#        server_name  _;               #域名
#        root         /usr/share/nginx/html;   #默认网页目录
#
#        ssl_certificate "/etc/pki/nginx/server.crt";    #证书文件路径
#        ssl_certificate_key "/etc/pki/nginx/private/server.key";    #私钥文件路径
#
#        ssl_session_cache shared:SSL:1m;
#        ssl_session_timeout  10m;
#        ssl_ciphers PROFILE=SYSTEM;
#        ssl_prefer_server_ciphers on;
#
#        # Load configuration files for the default server block.
#        include /etc/nginx/default.d/*.conf;
#
#        error_page 404 /404.html;
#            location = /40x.html {
#        }
#
#        error_page 500 502 503 504 /50x.html;
#            location = /50x.html {
#        }
#    }

实验:搭建nginx+ssl加密认证的web服务器

  • 准备工作
[root@server ~]# setenforce 0

[root@server ~]# systemctl stop firewalld

[root@server ~]# systemctl disable firewalld

[root@server ~]# yum install nginx mod_ssl -y

[root@server ~]# systemctl start nginx

[root@server ~]# systemctl enable nginx
  • 创建网页目录
[root@server ~]# mkdir -p /www/sxhkt

#使用mobaxterm上传网页数据到/www/sxhkt
  • 制作证书
#在/etc/nginx目录下制作证书所用的私钥文件sxhkt.key
[root@server ~]# openssl genrsa -aes128 2048 > /etc/nginx/sxhkt.key
Enter PEM pass phrase:                        #输入加密私钥的密码12345
Verifying - Enter PEM pass phrase:            #再输一遍


#制作证书 (证书需要用CA的私钥进行加密,所以在制作证书之前先制作私钥,证书中含有网站的公钥)
[root@server ~]# openssl req -utf8 -new -key  /etc/nginx/sxhkt.key  -x509  -days  365  -out  /etc/nginx/sxhkt.crt
Enter pass phrase for /etc/nginx/sxhkt.key:       #输入加密私钥的密码12345
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:86     #国家代码
State or Province Name (full name) []:shanxi   #省份
Locality Name (eg, city) [Default City]:xian    #城市
Organization Name (eg, company) [Default Company Ltd]:openlab  #公司
Organizational Unit Name (eg, section) []:rhce    #部门
Common Name (eg, your name or your server's hostname) []:server   #主机名
Email Address []:and@qq.com   #邮箱


#在加载ssl支持的nginx并使用上述私钥时必须去除设置的私钥密码12345
[root@server ~]# cd /etc/nginx
[root@server nginx]# cp sxhkt.key sxhkt.key.org
[root@server nginx]# openssl rsa -in sxhkt.key.org -out sxhkt.key
Enter pass phrase for sxhkt.key.org:         #输入加密私钥的密码12345
writing RSA key
  • 修改配置文件
[root@server ~]# vim /etc/nginx/nginx.conf
    server {
        listen       80;
        listen       [::]:80;
        server_name  192.168.80.129;
        return  301  https://192.168.80.129;   #输入http跳转到https

        # 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 {
        }
    }

# Settings for a TLS enabled server.

    server {
        listen       443 ssl http2;
        listen       [::]:443 ssl http2;
        server_name  192.168.80.129;
        root         /www/sxhkt;

        ssl_certificate "/etc/nginx/sxhkt.crt";
        ssl_certificate_key "/etc/nginx/sxhkt.key";

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }
  • 重启服务,测试
[root@server ~]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@server ~]# systemctl restart nginx


#在Windows端浏览器上输入https://192.168.80.129

在这里插入图片描述

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

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

相关文章

MIPS32 指令架构

指令格式 R 类型 说明: 用于寄存器和寄存器操作 参数说明: Op: 指令操作码Rs: 第一个源操作数寄存器号,参与运算使用Rd: 目的操作数寄存器号,保存结果使用Shamt: 位偏移量,仅在位移指令使用,在此直接置0Func: 指令函…

uni-app scroll-view隐藏滚动条的小细节 兼容主流浏览器

开端 想写个横向滚动的列表适配浏览器,主要就是隐藏一下滚动条在手机上美观一点。 但是使用uni-app官方文档建议的::-webkit-scrollbar在目标标签时发现没生效。 .scroll-view_H::-webkit-scrollbar{display: none; }解决 F12看了一下,原来编译到浏览…

postman一直转圈圈,无法启动

解决 地址栏输入%appdata%进入此目录,删除%appdata%目录下的postman文件可以解决问题。

北京金融大数据有限公司X百望云签署战略合作协议 共同发布“金数数据要素流通云平台”

随着数据资产与数据要素相关政策密集出台,资本与实业企业均跃跃欲试。但因为没有龙头企业的方案引领和成熟的落地实践,市场呈谨慎观望态势,热度无处安放。 北京金融大数据有限公司(以下简称“金融大数据公司”)作为市…

基于ssm+jsp+mysql+java的人事管理系统

💞文末获取源码联系🙉 👇🏻 精选专栏推荐收藏订阅👇🏻 🎀《Java精选实战项目-计算机毕业设计题目推荐-期末大作业》😘更多实战项目~ https://www.yuque.com/liuyixin-rotwn/ei3euo/d…

顺序栈--c语言实现

#include <stdio.h> #include <stdlib.h> #include <stdbool.h>#define MAXSIZE 100 // 定义栈的最大容量// 顺序栈的结构体定义 typedef struct {int data[MAXSIZE]; // 存储元素的数组int top; // 栈顶指针&#xff0c;初始化为-1表示空栈 } SqStack;// 初…

Python 操作 json 数据

在Python中&#xff0c;操作JSON数据主要包括序列化&#xff08;将Python对象转换为JSON格式&#xff09;和反序列化&#xff08;将JSON字符串转换回Python对象&#xff09;。 以下是使用Python内置的json模块进行这些操作的基本示例&#xff1a; JSON 序列化 (Serialization…

MFC 列表控件删除实例(源码下载)

1、本程序基于前期我的博客文章《MFC下拉菜单打钩图标存取实例&#xff08;源码下载) 》 2、程序功能选中列表控件某一项&#xff0c;删除按钮由禁止变为可用&#xff0c;点击删除按钮&#xff0c;选中的项将删除。 3、首先在主界面添加一个删除参数按钮。 4、在myDlg.cpp 文件…

DS:链表的分类

欢迎来到Harper.Lee的学习世界&#xff01; 博主主页传送门&#xff1a;Harper.Lee的博客主页 想要一起进步的uu欢迎来后台找我哦&#xff01; 链表的结构⾮常多样&#xff0c;以下情况组合起来就有8种&#xff08;2 * 2 * 2&#xff09;链表结构。下面我们依次来认识它们吧&am…

等级保护测评一般多长时间能做完?

一个二级或三级的系统&#xff0c;整体持续周期一到两个月 具体时间还要根据信息系统数量&#xff0c;及信息系统的规模&#xff0c;以及测评方与被测方的配合情况等&#xff0c;有所增减。 现场测评周期一般一周左右 小规模安全整改&#xff0c;包括管理制度策略配置技术&a…

ASP.NET图书馆管理信息系统

摘  要 本文首先阐述了基于.NET Framework平台的图书馆管理信息系统的开发背景以及其实践意义&#xff0c;其次说明了图书馆管理信息系统的功能以及相比同类软件的创新之处。然后就图书馆管理系统开发中所使用的一些的技术进行研究探讨。主要针对数据库的设计技术、存储过程…

Qt模型视图代理之MVD(模型-视图-代理)概念的简单介绍

往期回顾 Qt绘图与图形视图之Graphics View坐标系的简单介绍-CSDN博客 Qt绘图与图形视图之基本图元绘制的简单介绍-CSDN博客 Qt绘图与图形视图之自定义图元实现拖拽、拉伸、旋转功能-CSDN博客 Qt模型视图代理之MVD(模型-视图-代理)概念的简单介绍 一、基本概念 Qt模型视图代理…

浅谈MOS管的发热原因和解决办法

大家好&#xff0c;我是砖一。 今天给大家分享一下MOS管基础知识&#xff0c;为什么内阻那么小的MOS管&#xff0c;也会发热&#xff1f;有做功率元器件&开关电源和IC的朋友可以了解一下&#xff0c;希望对你有用~ 一&#xff0c;MOS管发热影响因素 经常查阅MOS管的数据手…

xftp破解版?No!xftp平替开源工具✔

文章目录 一、背景说明二、WindTerm介绍三、简单使用说明3.1 新建一个ssh连接窗口![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/bfbe5114916e4a7e94ca0f9ceb05ca37.png)3.2 输入主机ip和端口号3.3 点击Continue3.4 输入密码3.5 登入成功3.6 下载文件到本地3.7 上…

vue+element-ui实现横向长箭头,横向线上下可自定义文字(使用after伪元素实现箭头)

项目场景&#xff1a; 需要实现一个长箭头&#xff0c;横向线上下可自定义文字 代码描述 <div><span class"data-model">{{ //上方文字}}</span><el-divider class"q"> </el-divider>//分隔线<span class"data-mod…

C语言/数据结构——每日一题(环形链表的约瑟夫问题)

一.前言 今天在牛客网上面看到了一道环形链表题&#xff0c;想着和大家们分享一下。可能我有点笨&#xff0c;那道题的链接我没搞好&#xff0c;所以很抱歉&#xff0c;只能麻烦大家们看一下截屏的题目信息了。废话不多数&#xff0c;让我们开始今天的题目分享吧。 二.正文 …

Day01-zabbix监控详解

Day01-zabbix监控详解 一、什么是监控&#xff0c;为什么需要监控1.1 监控概述1.2 监控课程大纲 二、Linux的那些独孤九剑级别的命令五、监控的现代时六、Zabbix监控架构6.1 生命周期6.2 Zabbix监控架构 七、Zabbix 6.x Centos7 生产快速实践指南7.1 主机规划1&#xff09; 推荐…

alphassl ocsp通配符证书

AlphaSSL是GlobalSign旗下的一个子品牌&#xff0c;GlobalSign是知名度较高的正规SSL证书颁发机构&#xff0c;应用范围广泛&#xff0c;比如电子商务、在线支付、网上银行等网站&#xff0c;还可以兼容几乎99%的主流浏览器。AlphaSSL旗下的DV基础型通配符SSL证书&#xff0c;不…

idm线程怎么设置 idm线程数怎么上不去 idm免安装

IDM&#xff08;Internet Download Manager&#xff09;是一款流行的下载管理软件&#xff0c;IDM采用高级的多线程下载技术&#xff0c;可以将下载文件分成多个部分同时下载&#xff0c;从而提高下载速度&#xff0c;它因高效的下载速度和丰富的功能而受到用户的喜爱。接下来&…

YOLO实验记录

2023年2月17日 配置与环境 CPU&#xff1a;Intel Xeon Gold 6133 CPU 2.50GHz x8 GPU&#xff1a;NVIDIA Tesla V100 32G显存 python 3.8 pytorch1.12.1 cuda11.4 cuDNN 8.2.1 训练配置信息 输入图像尺寸&#xff1a;1280x1024 预训练模型&#xff1a;无 训练epoch&#x…