https协议是由SSL+http协议构建的安全协议,支持加密传输和身份认证,

安全性比http要更好,因为数据的加密传输,更能保证数据的安全性和完整性。

安装nginx

1.启动容器:

拉取镜像

docker pull nanlist/nginx1.23.1:v1.0

新建目录并授权,/home/ssl-nginx/conf, /home/ssl-nginx/logs
执行启动命令:

docker run -d --privileged=true --name ssl-nginx -p 80:80 -p 443:443 -v /home/ssl-nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /home/ssl-nginx/logs:/var/log/nginx -d nanlist/nginx1.23.1:v1.0

2.查看日志:

docker logs --tail=1000 ssl-nginx

3.Nginx 的 SSL 模块安装

进入容器:

docker exec -it ssl-nginx bash

查看ssl模块默认是否已编译:

nginx -V (注意大写V)

编译参数configure arguments: 中是否有 –with-http_ssl_module 这个模块

配置

1、下载Nginx 服务证书

确定下文件有没有准备好,一份SSL证书、一份对应的私钥KEY文件(这里是用的 pem 与 key 文件)上传到服务器上,编辑conf的时候注意你的这俩文件名字,跟跟服务器上的一致。
ssl.pem;
ssl.key;

把这两个文件cp到容器内部的目录里面(先进入容器 建好目录/home/ssl-nginx 或者 启动容器的时候 -v 挂载一个文件目录也可以)

docker cp  /home/ssl-nginx/conf/ssl.pem  ssl-nginx:/etc/nginxdocker cp  /home/ssl-nginx/conf/ssl.key  ssl-nginx:/etc/nginxdocker exec -i ssl-nginx nginx -tdocker exec -i ssl-nginx nginx -s reload

2、配置nginx.conf

worker_processes  1;events {worker_connections  1024;
}http {client_max_body_size 100m;include       mime.types;default_type  application/octet-stream;sendfile        on;keepalive_timeout  65;server {#监听的端口,nginx 1.15.0及以上版本,使用listen 443 ssl代替,1.15.0以下的使用listen 443listen       443 ssl;server_name  localhost;charset utf-8;# ssl证书地址#指定pem文件所在路径,如果写相对路径,必须把该文件和nginx.conf文件放到一个目录下。ssl_certificate     ssl.pem;#指定私钥文件key所在路径,如果写相对路径,必须把该文件和nginx.conf文件放到一个目录下。ssl_certificate_key  ssl.key;# ssl验证相关配置ssl_session_timeout  5m;    #缓存有效期ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;    #加密算法ssl_protocols TLSv1 TLSv1.1 TLSv1.2;    #安全链接可选的加密协议ssl_prefer_server_ciphers on;   #使用服务器端的首选算法location / {root   /home/ruoyi-ui/dist;try_files $uri $uri/ /index.html;index  index.html index.htm;}location /prod-api/ {proxy_set_header Host $http_host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header REMOTE-HOST $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_pass http://10.56.1.75:8080/;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}}#配置80端口重定向443端口server {listen 80;server_name  localhost;#用地址重写规则rewrite ^(.*)$ https://${server_name}$1 permanent;}}

配置完成后:

nginx -t;测试配置文件是否正确,再使用命令:

docker exec -i  ssl-nginx  nginx  -t

nginx -s reload; 加载nginx的配置文件并重启

docker exec -i  ssl-nginx  nginx  -s  reload

查看日志

docker logs --tail=1000 ssl-nginx

3、在浏览器中输入:https://域名地址,验证SSL是否配置成功

ps: 一个SSL证书只能对应一个端口吗 ?

443端口只是SSL证书的默认端口,SSL证书也是支持其他非443自定义端口的。
多个端口的nginx 在同一个ip地址里面是可以使用同一个ssl 证书的。

启动docker容器的时候 换一下 端口号,剩下的步骤都是一样的(无需修改conf里面的端口号)。

ps:服务器报警:启用了不安全的TLS1.0协议

最近在使用过程中,进行安全漏扫的时候报了这个警告。

TLS 1.0是于1996年发布的老版协议,使用的是弱加密算法和系统。比如SHA-1和MD5,这些算法和系统十分脆弱,存在重大安全漏洞,容易受到降级攻击的严重影响。

修复方法:
将conf文件中的ssl_protocols 改为 TLSv1.2 TLSv1.3

ssl_protocols TLSv1.2 TLSv1.3;

若配置文件里面没有ssl_protocols 则在开启了 ssl 的配置文件里面 添加上面那行代码

然后重启nginx。

Nginx配置ssl证书(https证书)相关推荐

  1. nginx配置ssl实现https访问 亲测有效

    nginx配置ssl实现https访问 亲测有效 申请证书 运行用户,默认即是nginx,可以不进行设置 停止nginx 启动 nginx日常操作命令 申请证书 在这里,我直接申请腾讯云的免费证书.这 ...

  2. Nginx 配置 SSL 及 HTTPS 协议通信过程

    一.前言 基础知识 1.1 公钥密码体制(public-key cryptography) 公钥密码体制分为三个部分,公钥.私钥.加密解密算法,它的加密解密过程如下: 加密:通过加密算法和公钥对内容( ...

  3. 使用Certbot为nginx配置免费的https证书

    以一级域名 abc.com 为列 一.方案一:基于http挑战的配置(自动) 1)Nginx 增加用于证书的挑战的配置,并重启nginx server {listen 80 ;listen [::]: ...

  4. java nginx https_docker nginx 配置ssl,实现https

    docker nginx 配置ssl,实现https 2019-09-05 16:06:35.0 nginx配置https总览 在nginx配置ssl实现https,简单来说分为三个步骤: 1 上传s ...

  5. nginx配置http、https访问,nginx指定ssl证书,阿里云腾讯云华为云设置nginx https安全访问

    nginx配置http.https访问 要设置https访问需要从对应的云厂商申请证书,并下载Nginx证书到服务器. 我这里从阿里云申请了免费的域名证书,然后将证书放置在服务器的/etc/ssl/. ...

  6. Nginx 配置 SSL 证书 + HTTPS 站点小记

    今天给几个站点配置了认证的 ssl 证书,但是苦于自己技术不过关,或是知识不足,导致还有那么一小点 Bug 的出现,这里就我配置 HTTPS 站点的经验来总结一下吧. 一.什么是 SSL 证书,什么是 ...

  7. 个人站点配置免费HTTPS证书、nginx配置ssl证书、阿里云盾和站长之家两种

    原文链接:https://www.aiprose.com/blog/20 相信大家都想让自己的站点支持https,今天就给大家介绍如何在个人站点中使用https,并使用nginx配置ssl证书.我们可 ...

  8. Nginx配置SSL证书(CentOS环境),实现https请求

    目录 一.Nginx配置SSL 1.证书申请 二.配置SSL 2.1 证书上传 2.2 HTTPS server配置 2.2.3 配置转发 三.配置问题 四.配置示例 1.nginx.conf配置SS ...

  9. windows配置NGINX、NGINX配置SSL证书通过HTTPS访问、使用HTTPS通过NGINX代理访问服务器端项目

    1.windows配置nginx 1)在nginx官网下载稳定版nginx,nginx官网:http://nginx.org/en/download.html 2)解压文件,注:存放目录最好不要带有中 ...

  10. nginx配置ssl双向证书

    CA根证书制作 # 创建CA私钥 openssl genrsa -out ca.key 2048#制作CA根证书(公钥) openssl req -new -x509 -days 3650 -key ...

最新文章

  1. Linux C/C++解析xls
  2. 工欲善其事必先利其器——web调试工具firebug
  3. js数组对象的常用方法
  4. sqlsever2008数据库的备份与还原
  5. php post请求后端拿不到值_Ajax 提交POST后,后台php 无法获取$POST值
  6. mysql gtid深入_深入理解MySQL 5.7 GTID系列(四):mysql.gtid_executedPREVIOUS GTID EVENT
  7. 基于log4net的支持动态文件名、按日期和大小自动分割文件的日志组件
  8. oracle之 监听器无法启动的几个原因总结
  9. 数据结构严蔚敏清华大学pdf_2019年清华大学软件学院软件工程考研经验分享
  10. python多线程破解压缩包_python利用itertools生成密码字典并多线程撞库破解rar密码...
  11. python输入单词显示长度_Python按长度打印单词
  12. Mysql(3):事务、锁及锁级别
  13. 如何写出好的SEO标题,网页标题SEO优化的方法
  14. CIE1964标准色度系统
  15. 计算机网络基础常见名词缩写汇总
  16. 弄懂“三门问题”,成功概率翻倍,来用代码验证一下
  17. PTA-c语言 水仙花数
  18. caxa工程知识管理服务器配置信息怎么填,CAXA CAPP教程:如何定义与单元格相关联的知识库...
  19. splitstr oracle,Oracle 创建 split 和 splitstr 函数
  20. HR:请问你的期望工资是多少?

热门文章

  1. css:实现多行文本居中的五种方法
  2. Android TV 直通显卡,为游戏而生 Android TV秘密武器露真容
  3. 蓝桥杯 异或数列 python组
  4. Linux ip 和 port 查看
  5. 获取淘宝/天猫优惠券查询的API接口
  6. 关于9宫格拼图,C++
  7. excel怎么批量插行_如何快速批量合并多个Excel表格,分享给大家
  8. 联想服务器做系统2018,联想小新潮7000 2018版(i5-8250U)如何用u盘装系统win10
  9. stylus的引用方式 ,~ 是stylus的写法
  10. android支持全面屏手势,安卓最好用的全面屏手势APP发布:无需ROOT