Nginx的https功能

一.HTTPS功能简介

Web网站的登录页面都是使用https加密传输的,加密数据以保障数据的安全,HTTPS能够加密信息,以免敏感信息被第三方获取,所以很多银行网站或电子邮箱等等安全级别较高的服务都会采用HTTPS协议,HTTPS其实是有两部分组成:HTTP + SSL / TLS,也就是在HTTP上又加了一层处理加密信息的模块。服务端和客户端的信息传输都会通过TLS进行加密,所以传输的数据都是加密后的数据。

nginx 的https 功能基于模块ngx_http_ssl_module实现,因此如果是编译安装的nginx要使用参数ngx_http_ssl_module开启ssl功能,但是作为nginx的核心功能,yum安装的nginx默认就是开启的,编译安装的nginx需要指定编译参数--with-http_ssl_module开启

在Nginx中,HTTPS是通过SSL/TLS协议来实现加密和安全通信的功能。以下是Nginx中使用HTTPS的简要介绍:

  1. SSL/TLS支持:Nginx内置了对SSL/TLS协议的支持,可以用来加密客户端和服务器之间的通信,确保数据传输的隐私和安全。

  2. 证书配置:为了启用HTTPS,你需要配置SSL证书,包括公钥、私钥以及可能的中间证书。Nginx需要这些证书来进行加密通信。

  3. 监听HTTPS端口:与HTTP服务不同,HTTPS服务默认运行在443端口上。你需要配置Nginx监听443端口,并将HTTPS流量引导到相应的站点或应用程序。

  4. SSL配置:Nginx提供了一系列的SSL配置选项,用于控制加密算法、协议版本、会话缓存等参数。这些配置可以影响服务器与客户端之间的加密通信方式。

  5. HTTP到HTTPS的重定向:通常情况下,你可能希望将所有的HTTP请求重定向到HTTPS,以确保访问安全。Nginx可以通过配置来实现这种重定向。

  6. 性能优化:Nginx提供了一些优化选项,比如SSL会话缓存、OCSP Stapling等,用于提高HTTPS通信的性能和安全性。

总的来说,Nginx通过其灵活的配置和强大的性能,在实现HTTPS功能时提供了丰富的选项和功能。使用Nginx作为HTTPS服务器可以帮助你实现安全的加密通信,并保护网站和应用程序的数据安全。

https参数

ssl on | off;   
#为指定的虚拟主机配置是否启用ssl功能,此功能在1.15.0废弃,使用listen [ssl]替代
listen 443 ssl;

ssl_certificate /path/to/file;
#指向包含当前虚拟主机和CA的两个证书信息的文件,一般是crt文件

ssl_certificate_key /path/to/file;
#当前虚拟主机使用的私钥文件,一般是key文件

ssl_protocols [SSLv2] [SSLv3] [TLSv1] [TLSv1.1] [TLSv1.2]; 
#支持ssl协议版本,早期为ssl现在是TLS,默认为后三个

ssl_session_cache off | none | [builtin[:size]] [shared:name:size];
#配置ssl缓存
 off: #关闭缓存
 none:  #通知客户端支持ssl session cache,但实际不支持
 builtin[:size]:#使用OpenSSL内建缓存,为每worker进程私有
 [shared:name:size]:#在各worker之间使用一个共享的缓存,需要定义一个缓存名称和缓存空间大小,一兆可以存储4000个会话信息,多个虚拟主机可以使用相同的缓存名称

ssl_session_timeout time;
#客户端连接可以复用ssl session cache中缓存的有效时长,默认5m

二.https自签名证书

1.修改配置文件

[root@localhost ~]# cd /etc/pki/tls/
[root@localhost tls]# ls
cert.pem  certs  misc  openssl.cnf  private
[root@localhost tls]# cd  certs/
[root@localhost certs]# pwd
/etc/pki/tls/certs
[root@localhost certs]# ls
ca-bundle.crt  ca-bundle.trust.crt  make-dummy-cert  Makefile  renew-dummy-cert
[root@localhost certs]# vim Makefile 
#找到第57行/usr/bin/openssl genrsa -aes128 $(KEYLEN) > $@
将这一行复制粘贴到下一行,复制的内容删除掉  -aes128  密码
将57行注释掉

2.使用make编译生成证书

3.将秘钥和证书复制到/opt下

[root@localhost certs]# cp  www.* /opt/
[root@localhost certs]# cd /opt
[root@localhost opt]# ls
nginx-1.18.0  nginx-1.18.0.tar.gz  rh  www.zxy.com.crt  www.zxy.com.key

4.编辑子配置文件

5.重新启动nginx

真机访问https://192.168.240.12

相关推荐

  1. Tomcat、Nginx功能对比

    2024-06-06 13:50:01       35 阅读
  2. nginxrewrite功能介绍

    2024-06-06 13:50:01       6 阅读
  3. nignx功能包括哪些

    2024-06-06 13:50:01       13 阅读
  4. nginxlocation规则与其他功能

    2024-06-06 13:50:01       18 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-06 13:50:01       19 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-06 13:50:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-06 13:50:01       20 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-06 13:50:01       20 阅读

热门阅读

  1. Selenium自动化测试入门:设置等待时间

    2024-06-06 13:50:01       8 阅读
  2. 【车载开发系列】自动驾驶技术--HUD技术

    2024-06-06 13:50:01       9 阅读
  3. idea2024年最新激活码,即拿即用

    2024-06-06 13:50:01       13 阅读
  4. SQL入门详细教程

    2024-06-06 13:50:01       8 阅读
  5. 学习VUE3——组件(一)

    2024-06-06 13:50:01       9 阅读
  6. 【数据库系统概论】事务

    2024-06-06 13:50:01       10 阅读
  7. 小程序怎样进行本地存储的读、写、删、清?

    2024-06-06 13:50:01       9 阅读
  8. 【Python】常见的生成随机数的方法

    2024-06-06 13:50:01       11 阅读