服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

云服务器|WEB服务器|FTP服务器|邮件服务器|虚拟主机|服务器安全|DNS服务器|服务器知识|Nginx|IIS|Tomcat|

服务器之家 - 服务器技术 - Nginx - Nginx设置HTTPS的方法步骤

Nginx设置HTTPS的方法步骤

2022-08-01 10:50孙霸天 Nginx

本文主要介绍了NGINX设置HTTPS的方法步骤,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

背景

HTTP

超文本传输协议,是一个基于请求与响应,无状态的,应用层的协议,常基于TCP/IP协议传输数据,互联网上应用最为广泛的一种网络协议,所有的WWW文件都必须遵守这个标准。设计HTTP的初衷是为了提供一种发布和接收HTML页面的方法。

优点

  • 支持客户/服务器模式
  • 简单快速:服务器当客户端请求服务时,只需传送请求方法和路径
  • 灵活: HTTP 允许任何类型的数据对象的传输
  • 无连接:限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。
  • 无状态:协议对于事务处理没有记忆能力,服务器不知道客户端是什么状态。我们给服务器发送 HTTP 请求之后,服务器根据请求,会给我们发送数据过来,但是,发送完,不会记录任何信息。HTTP 是一个无状态协议,这意味着每个请求都是独立的,Keep-Alive 没能改变这个结果。

缺点

  • HTTP协议传输数据,都是通过明文的方式在互联网上传递(如账号、密码、身份信息、浏览器记录和交易记录)
  • 任何人都可以轻松拦截、窃取或篡改数据,可能造成你的隐私数据泄露(中间人攻击)

HTTPS

HTTPS (全称:Hyper Text Transfer Protocol over SecureSocket Layer),是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性 [1] 。HTTPS 在HTTP 的基础下加入SSL,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL。 HTTPS 存在不同于 HTTP 的默认端口及一个加密/身份验证层(在 HTTP与 TCP 之间)。这个系统提供了身份验证与加密通讯方法。它被广泛用于万维网上安全敏感的通讯,例如交易支付等方面 。

原理图如下:

Nginx设置HTTPS的方法步骤

简单来说,https是在http的基础上添加了证书来验证安全性,客户端拿到了https的证书会向证书服务器去验证证书的真伪,这样就可避免中间人攻击。在向证书服务器验证证书后,客户端就能拿到服务器的公钥,同时客户端也会生成这次自己的私钥和公钥,在请求传输的过程中会使用服务器公钥将数据和客户端公钥进行加密,这种加密是非对称加密的(很难破解),服务器拥有私钥可以将数据进行解密。服务器返回数据时会使用客户端的公钥进行加密,这样只有客户端才能使用私钥解密数据。这个过程是安全的。

配置过程

这里我使用的是nginx服务器配置域名htpps(配置SSL证书)

域名证书申请

我是使用腾讯云购买的域名:sunbt.ltd

国内服务器使用域名时需要备案,这里我默认都已经备案

进入腾讯的SSL证书管理页面,申请对应的域名证书

Nginx设置HTTPS的方法步骤

下载对应的证书,这里我选择NGINX版本的

Nginx设置HTTPS的方法步骤

编辑nginx.conf文件

将证书解压放到服务器对应位置上

Nginx设置HTTPS的方法步骤

添加如下内容:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
server {
        #SSL 访问端口号为 443
        listen 443 ssl;
        #填写绑定证书的域名
        server_name www.sunbt.ltd;
        #证书文件名称
        ssl_certificate /usr/local/nginx/conf/ssl/www.sunbt.ltd_bundle.crt;
        #私钥文件名称
        ssl_certificate_key /usr/local/nginx/conf/ssl/www.sunbt.ltd.key;
        ssl_session_timeout 5m;
        #请按照以下协议配置
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        #请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
        ssl_prefer_server_ciphers on;
        location @router {
            rewrite ^.*$ /index.html last;
         }
        location / {
                root /usr/local/nginx/html/web/blog; # /vue/dist/ 打包后的dist目录
                try_files $uri $uri/ @router; # 指向下面的 @router否则会出现 404
                index index.html index.htm;
        }
 
    }

让http请求跳转到https

修改配置如下:

?
1
2
3
4
5
6
7
server {
    listen 80;
    #填写绑定证书的域名
    server_name cloud.tencent.com;
    #把http的域名请求转成https
    return 301 https://$host$request_uri;
}

到此这篇关于NGINX设置HTTPS的文章就介绍到这了,更多相关NGINX设置HTTPS内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/qq_36213352/article/details/123620208

延伸 · 阅读

精彩推荐
  • Nginx为什么 Nginx 比 Apache 更牛逼

    为什么 Nginx 比 Apache 更牛逼

    为什么Nginx在处理高并发方面要优于httpd,我们先从两种web服务器的工作原理以及工作模式说起。对Nginx对比 Apache的相关知识感兴趣的朋友跟随小编一起看看...

    Java技术栈7302021-03-23
  • NginxNginx配置文件详解以及优化建议指南

    Nginx配置文件详解以及优化建议指南

    Nginx是一款面向性能设计的HTTP服务器,相较于Apache、lighttpd具有占有内存少,稳定性高等优势,下面这篇文章主要给大家介绍了关于Nginx配置文件详解以及优化的...

    追风人聊Java8032021-09-26
  • Nginx详解nginx如何配置HTTPS

    详解nginx如何配置HTTPS

    本篇文章主要介绍了详解nginx如何配置HTTPS,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 ...

    zx4002019-11-28
  • NginxNginx 反向代理并缓存及缓存清除的方法

    Nginx 反向代理并缓存及缓存清除的方法

    本篇文章主要介绍了Nginx 反向代理并缓存及缓存清除的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 ...

    ca0guo16812019-12-02
  • Nginx在Nginx服务器中使用LibreSSL的教程

    在Nginx服务器中使用LibreSSL的教程

    这篇文章主要介绍了在Nginx服务器中使用LibreSSL的教程,LibreSSL是SSL的一个人气软件库,需要的朋友可以参考下 ...

    goldensun7292019-10-28
  • Nginx关于Nginx开启gzip的配置的问题

    关于Nginx开启gzip的配置的问题

    这篇文章主要介绍了关于Nginx开启gzip的配置的问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...

    西西爸de札记12142021-05-06
  • Nginxnginx使用ssl模块配置支持HTTPS访问的方法

    nginx使用ssl模块配置支持HTTPS访问的方法

    这篇文章主要介绍了nginx使用ssl模块配置支持HTTPS访问的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 ...

    梦徒6442019-12-20
  • Nginxnginx虚拟主机防webshell完美版

    nginx虚拟主机防webshell完美版

    nginx虚拟主机防webshell完美版,使用nginx的朋友可以参考下。 ...

    DoDo's Blog3392019-10-09