Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >如何为Nginx 配置SSL证书?

如何为Nginx 配置SSL证书?

作者头像
用户1560186
发布于 2019-11-19 12:41:25
发布于 2019-11-19 12:41:25
3.9K00
代码可运行
举报
文章被收录于专栏:运维录运维录
运行总次数:0
代码可运行

开始之前


SSL证书作用

1. 实现加密传输

用户通过http协议访问网站时,浏览器和服务器之间是明文传输,这就意味着用户填写的密码、帐号、交易记录等机密信息都是明文,随时可能被泄露、窃取、篡改,被黑客加以利用。

使用SSL证书后,使用https加密协议访问网站,可激活客户端浏览器到网站服务器之间的"SSL加密通道"(SSL协议),实现高强度双向加密传输,防止传输数据被泄露或篡改。

2. 认证服务器真实身份

网站部署全球信任的SSL证书后,浏览器内置安全机制实时查验证书状态,通过浏览器向用户展示网站认证信息,让用户轻松识别网站真实身份,防止钓鱼网站仿冒。

操作步骤

1. 准备SSL证书我这里使用的是域名服务商签发的SSL证书,如果你没有合法可信任的SSL证书,可以搜索签发私有证书方法。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
file ssl/domain.*
domain.crt: PEM certificate
domain.key: PEM RSA private key

2. 配置Nginx

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cat /etc/nginx/conf/default.conf

server {

    listen 80;
    listen 443 ssl; # listen ssl port
    server_name  www.demo.com;
    index index.shtml index.html;
    root  /var/www/html;

    # ssl configure
    ssl on;
    ssl_certificate      ssl/domain.crt;
    ssl_certificate_key  ssl/domain.key;

    # force ssl
    error_page 497 https://$server_name$request_uri;

    # proxy processing error_page
    error_page 404 /404.html;

    location ^~ /attachments {
        alias /star/uploads/;
        expires 180d;
    }

    location ^~ /static {
        alias /star/static/;
        expires 180d;
    }

    location / {
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header Host $http_host;
        #proxy_set_header Host $host;
        proxy_pass http://unix:/var/run/django.socket;
    proxy_redirect default;
    }

    access_log  /var/log/nginx/access.log access;
    error_log  /var/log/nginx/error.log;
}

3# 重启Nginx

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
nginx -t && nginx -s reload
SSL相关指令

1. SSL

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
语法: ssl on | off;
默认值: ssl off;
使用字段: http, server
功能: 开启SSL功能,nginx建议使用listen 指令代替这个指令。

2. SSL_CERTIFICATE

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
语法: ssl_certificate file;
默认值:使用字段: http, server
功能: 指定PEM格式的证书文件。

3. SSL_CERTIFICATE_KEY

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
语法: ssl_certificate_key file;
默认值:使用字段: http, server
功能: 指定PEM格式的密钥的文件。
关于证书

1. PEM格式的证书文件PEM (*.pem)由Base64编码的二进制内容和开头行(-----BEGIN CERTIFICATE-----)、结束行(-----END CERTIFICATE-----)组成,支持使用notepad++等文本编辑器打开。nginx 能够识别CRT格式的证书文件(内容相同扩展名不同)。

2. 证书文件与私钥文件如果存在——BEGIN CERTIFICATE——,则说明这是一个证书文件。如果存在——BEGIN RSA PRIVATE KEY——,则说明这是一个私钥文件。

3. 如果没有找到需要的证书格式,可以使用openssl命令转换格式,它们之间是可以互相转换的。

小结

最后来总结下文章中的知识点

  • nginx推荐使用listen 指令替代 ssl on指令,开启ssl。
  • ssl证书可以向服务商索取免费证书或者使用openssl签发私有证书文件。
  • ssl证书格式可以转换,对于nginx 使用crt 证书文件与 key私钥文件。
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-10-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 运维录 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
《Scikit-Learn与TensorFlow机器学习实用指南》 第3章 分类
第3章 分类 来源:ApacheCN《Sklearn 与 TensorFlow 机器学习实用指南》翻译项目 译者:@时间魔术师 校对:@Lisanaaa @飞龙 在第一章我们提到过最常用的监督学习任务是回归(用于预测某个值)和分类(预测某个类别)。在第二章我们探索了一个回归任务:预测房价。我们使用了多种算法,诸如线性回归,决策树,和随机森林(这个将会在后面的章节更详细地讨论)。现在我们将我们的注意力转到分类任务上。 MNIST 在本章当中,我们将会使用 MNIST 这个数据集,它有着 70000
ApacheCN_飞龙
2018/05/16
1.8K0
深度学习实战-MNIST数据集的二分类
MNIST数据集是一组由美国高中生和人口调查局员工手写的70,000个数字的图片,每张图片上面有代表的数字标记。
皮大大
2023/08/25
8630
使用Scikit-learn实现分类(MNIST)
这是我学习hands on ml with sklearn and tf 这本书做的笔记,这是第三章
用户7886150
2020/12/27
1.7K0
‍ 猫头虎 分享:Python库 Scikit-Learn 的简介、安装、用法详解入门教程
Scikit-Learn 是 Python 领域中最受欢迎的机器学习库之一,基于 NumPy 和 Pandas 等科学计算库构建,提供了丰富的机器学习算法接口。无论你是做分类、回归、聚类还是降维,它都能帮助你快速实现。
猫头虎
2024/09/17
2220
机器学习入门基础知识汇总
机器学习(Machine Learning,简称 ML)是人工智能(AI)领域的重要组成部分,涉及使用算法从数据中提取模式并进行预测。随着数据量的快速增长和计算能力的提升,机器学习在各个领域都有着广泛的应用,如金融、医疗、自动驾驶等。在学习机器学习的过程中,掌握一些基础知识是非常重要的。本文将介绍机器学习的核心概念、常见算法以及如何在实际问题中应用这些知识。
一键难忘
2025/01/25
2260
数据科学和人工智能技术笔记 九、模型验证
在本教程中,我们将使用着名的鸢尾花数据集。鸢尾花数据包含 150 种鸢尾花的四个测量值,以及它的品种。 我们将使用支持向量分类器来预测鸢尾花的品种。
ApacheCN_飞龙
2022/12/02
9710
数据科学和人工智能技术笔记 九、模型验证
为什么要用交叉验证
本文结构: 什么是交叉验证法? 为什么用交叉验证法? 主要有哪些方法?优缺点? 各方法应用举例? ---- 什么是交叉验证法? 它的基本思想就是将原始数据(dataset)进行分组,一部分做为训练集来训练模型,另一部分做为测试集来评价模型。 ---- 为什么用交叉验证法? 交叉验证用于评估模型的预测性能,尤其是训练好的模型在新数据上的表现,可以在一定程度上减小过拟合。 还可以从有限的数据中获取尽可能多的有效信息。 ---- 主要有哪些方法? 1. 留出法 (holdout cross validation)
杨熹
2018/04/03
2.2K0
为什么要用交叉验证
监督学习6大核心算法精讲与代码实战
监督学习线性回归、逻辑回归、决策树、支持向量机、K近邻、朴素贝叶斯算法精讲,模型评估精讲
TechLead
2024/06/08
5321
监督学习6大核心算法精讲与代码实战
使用Python实现交叉验证与模型评估
交叉验证是一种评估机器学习模型性能的常用方法,它可以更准确地估计模型在未知数据上的性能。在本文中,我们将介绍交叉验证的原理和常见的几种交叉验证方法,并使用Python来实现这些方法,并展示如何使用交叉验证来评估模型的性能。
Echo_Wish
2024/04/19
4890
机器学习中的交叉验证
总第100篇 本篇讲讲机器学习中的交叉验证问题,并利用sklearn实现。 前言 在说交叉验证以前,我们先想一下我们在搭建模型时的关于数据切分的常规做法[直接利用train_test_split把所有的数据集分成两部分:train_data和test_data,先在train_data上进行训练,然后再在test_data上进行测试评估模型效果的好坏]。 因为我们训练模型时,不是直接把数丢进去就好了,而是需要对模型的不断进行调整(比如参数),使模型在测试集上的表现足够好,但是即使模型在测试集上效果好,不
张俊红
2018/04/11
1.9K0
机器学习中的交叉验证
深度学习–十折交叉验证
用scikit-learn来评价模型质量,为了更好地挑拣出结果的差异,采用了十折交叉验证(10-fold cross validation)方法。
全栈程序员站长
2022/11/17
1.4K0
深度学习–十折交叉验证
几种交叉验证(cross validation)方式的比较
模型评价的目的:通过模型评价,我们知道当前训练模型的好坏,泛化能力如何?从而知道是否可以应用在解决问题上,如果不行,那又是哪里出了问题? train_test_split 在分类问题中,我们通常通过对训练集进行train_test_split,划分成train 和test 两部分,其中train用来训练模型,test用来评估模型,模型通过fit方法从train数据集中学习,然后调用score方法在test集上进行评估,打分;从分数上我们可以知道 模型当前的训练水平如何。 from sklearn.da
用户1631856
2018/04/12
5.8K0
几种交叉验证(cross validation)方式的比较
机器学习入门 8-6 验证数据集与交叉验证
前几个小节通过引入过拟合和欠拟合的概念,让大家理解使用train_test_split方法划分出测试集的意义。
触摸壹缕阳光
2019/12/30
1.4K0
(数据科学学习手札27)sklearn数据集分割方法汇总
一、简介   在现实的机器学习任务中,我们往往是利用搜集到的尽可能多的样本集来输入算法进行训练,以尽可能高的精度为目标,但这里便出现一个问题,一是很多情况下我们不能说搜集到的样本集就能代表真实的全体,其分布也不一定就与真实的全体相同,但是有一点很明确,样本集数量越大则其接近真实全体的可能性也就越大;二是很多算法容易发生过拟合(overfitting),即其过度学习到训练集中一些比较特别的情况,使得其误认为训练集之外的其他集合也适用于这些规则,这使得我们训练好的算法在输入训练数据进行验证时结果非常好,但在训练
Feffery
2018/04/17
3K0
(数据科学学习手札27)sklearn数据集分割方法汇总
《机器学习》学习笔记(四)——用Python代码实现单变量线性回归、多变量线性回归;数据评估之交叉验证法、留出法、自助法
根据上面的训练数据,我们能否推断(预测)出某个直径的披萨可能的售价呢?例如,12英寸的披萨可能售卖多少钱?
荣仔_最靓的仔
2021/02/02
3K0
《机器学习》学习笔记(四)——用Python代码实现单变量线性回归、多变量线性回归;数据评估之交叉验证法、留出法、自助法
【Python篇】从零到精通:全面分析Scikit-Learn在机器学习中的绝妙应用
机器学习正在快速改变我们的世界,而Scikit-Learn作为Python生态中最为强大的机器学习库之一,是每个数据科学家和工程师不可或缺的工具。本篇文章旨在从零开始,带领你逐步掌握Scikit-Learn的核心功能与实际应用。无论你是刚刚接触机器学习的初学者,还是希望提升技能的进阶学习者,这篇文章都将为你提供一条清晰的学习路径,助你在数据科学领域中不断成长和突破。让我们一起踏上这段充满探索与发现的旅程,解锁机器学习的无限可能。
半截诗
2024/10/09
6030
模型选择之交叉验证
交叉验证是在机器学习建立模型和验证模型参数时常用的办法,一般被用于评估一个机器学习模型的表现。更多的情况下,我们也用交叉验证来进行模型选择(model selection)。
Coggle数据科学
2019/09/12
1.6K0
模型选择之交叉验证
Scikit-learn 基础
Scikit-learn 是开源的 Python 库,通过统一的界面实现机器学习、预处理、交叉验证及可视化算法。
iOSDevLog
2019/05/29
8710
【推荐收藏】模型评估与调参(Python版)
“管道工作流”这个概念可能有点陌生,其实可以理解为一个容器,然后把我们需要进行的操作都封装在这个管道里面进行操作,比如数据标准化、特征降维、主成分分析、模型预测等等,下面还是以一个实例来讲解。
Sam Gor
2019/07/08
1.8K0
KFold交叉验证
from sklearn.model_selection import KFold
润森
2019/10/24
1.9K0
推荐阅读
相关推荐
《Scikit-Learn与TensorFlow机器学习实用指南》 第3章 分类
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验