Nginx配置SSL证书的全流程

 更新时间:2025年02月22日 10:23:49   作者:Cynicism_Smile  
文章详细介绍了如何通过阿里云或腾讯云申请免费SSL证书,并在Nginx中配置SSL以启用HTTPS,配置包括设置SSL会话缓存、超时、加密套件、优先级以及指定证书和密钥的位置,配置完成后,通过验证语法并重启Nginx,网站将启用HTTPS,用户访问时会看到浏览器地址栏的锁图标

一、ssl证书下载

ssl证书下载,可通过阿里云或者腾讯云申请免费ssl证书(证书域名需要购买)

以上为腾讯云,申请成功后可在页面下载ssl证书,类型选择nginx的那种就行,适用大部分场景;

二、nginx配置

下载ssl证书后会得到四个文件

将文件上传到和nginx同目录下,或者自己指定位置即可

ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
ssl_certificate path/to/you/youyuming.cn_bundle.pem;
ssl_certificate_key path/to/you/youyuming.cn.key;

另外 需要在监听的端口后加上ssl;

配置说明:

1. ssl_session_cache shared:SSL:1m;

作用:设置SSL会话缓存。这有助于加速重复连接,因为客户端和服务器不需要为每个新连接重新协商整个SSL/TLS握手。

参数解释

  • shared:SSL::创建一个名为SSL的共享内存区域,用于存储会话信息。共享内存区可以在多个worker进程之间共享,从而提高效率。
  • 1m:分配给这个共享缓存的内存量(1兆字节)。根据您的服务器流量和需要支持的同时连接数,可以调整这个值。

2. ssl_session_timeout 5m;

作用:定义SSL会话缓存的有效期。一旦超过了这个时间,如果客户端再次尝试建立连接,则需要重新进行完整的SSL/TLS握手。

参数解释

  • 5m:表示5分钟。可以根据需求调整此超时值以平衡性能与资源使用。

3. ssl_ciphers HIGH:!aNULL:!MD5;

作用:指定允许使用的加密套件(cipher suites),即决定客户端和服务器之间的通信应该使用哪些加密算法。

参数解释

  • HIGH:选择高强度的加密算法。
  • !aNULL:禁止无身份验证的加密套件,这意味着所有加密套件都必须包含某种形式的身份验证。
  • !MD5:排除使用MD5哈希算法的加密套件,因为MD5被认为不再安全。

4. ssl_prefer_server_ciphers on;

作用:启用服务器端优先级。当这个选项被激活时,Nginx将使用其配置文件中定义的加密套件顺序,而不是依赖于客户端提供的顺序。

参数解释

  • on:开启服务器端优先级。推荐启用此选项以确保使用更安全的加密套件。

5. ssl_certificate /path/to/your/youyuming.cn_bundle.pem;

作用:指定服务器证书的位置。这是用来证明服务器身份的数字证书。

参数解释

  • /path/to/your/youyuming.cn_bundle.pem:证书文件的路径。应替换为实际的证书文件路径。

6. ssl_certificate_key /path/to/your/youyuming.cn.key;

作用:指定私钥文件的位置。私钥是与证书配对的,用于解密通过SSL/TLS加密的通信。

参数解释

  • /path/to/your/youyuming.cn.key:私钥文件的路径。同样地,应替换为实际的私钥文件路径。

nginx配置完后可验证下配置语法是否正确 nginx -t, 没啥问题的话再次访问网站就可看到一把小锁.

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Fastdfs与nginx进行压缩图片比率

    Fastdfs与nginx进行压缩图片比率

    前阵子,工作搞了一下Fastdfs与nginx进行压缩图片比率存储在服务器中,今天应用下工作时间记录下.
    2014-07-07
  • Nginx防盗链的3种方法

    Nginx防盗链的3种方法

    Nginx防盗链的3种方法,需要的朋友可以参考下。
    2010-12-12
  • Nginx启动、重启、关闭/Nginx开启启动配置实现方式

    Nginx启动、重启、关闭/Nginx开启启动配置实现方式

    这篇文章介绍了如何手动启动、重启、关闭Nginx服务,以及如何通过配置文件和系统服务来管理Nginx,同时,还介绍了如何检查Nginx是否开机自启动,并提供了查看Nginx状态、启动、停止和重启服务的命令
    2026-03-03
  • Nginx Lua Waf 插件一键部署的操作示例

    Nginx Lua Waf 插件一键部署的操作示例

    这篇文章主要介绍了Nginx Lua Waf 插件一键部署的操作示例,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2024-07-07
  • docker部署nginx并且挂载文件夹和文件操作

    docker部署nginx并且挂载文件夹和文件操作

    这篇文章主要介绍了docker部署nginx并且挂载文件夹和文件操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • Nginx配置PHP的Yii与CakePHP框架的rewrite规则示例

    Nginx配置PHP的Yii与CakePHP框架的rewrite规则示例

    这篇文章主要介绍了Nginx配置PHP的Yii与CakePHP框架的rewrite规则示例,是这两款高人气框架使用Nginx的关键配置点,需要的朋友可以参考下
    2016-01-01
  • nginx通过https部署vue项目的完整步骤

    nginx通过https部署vue项目的完整步骤

    在实际开发中,我们会以https形式进行页面访问,下面这篇文章主要给大家介绍了关于nginx通过https部署vue项目的完整步骤,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2022-05-05
  • nginx lua集成kafka的实现方法

    nginx lua集成kafka的实现方法

    这篇文章主要介绍了nginx lua集成kafka的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • Nginx多ip部署多站点的实现步骤

    Nginx多ip部署多站点的实现步骤

    使用Nginx在具有多个IP地址的服务器上部署多个站点,从而实现高效、安全的网站托管,本文主要介绍了Nginx多ip部署多站点的实现步骤,感兴趣的可以了解一下
    2024-01-01
  • 前端开发用得着的nginx配置(场景)

    前端开发用得着的nginx配置(场景)

    这篇文章主要介绍了前端开发用得着的nginx配置,前端的工作过程里,本地开发、提供测试环境,总得有个用着顺手的服务器软件,这个场景里nginx很流行,特分享下需要的朋友可以参考下
    2014-09-09

最新评论