docker nginx 配置ssl,实现https

2019-09-05 16:06:35.0

nginx配置https总览

在nginx配置ssl实现https,简单来说分为三个步骤:

1 上传ssl证书等文件

将 1_www.domain.com_bundle.crt 和 2_www.domain.com.key 上传到nginx配置文件的目录旁边。

这两个文件分别为 证书文件和密钥文件 。

2 配置server节点监听443端口

进行以下配置

server {

listen 443; #SSL 访问端口号为 443

server_name www.domain.com; #填写绑定证书的域名

ssl on; #启用 SSL 功能

ssl_certificate 1_www.domain.com_bundle.crt; #证书文件名称

ssl_certificate_key 2_www.domain.com.key; #私钥文件名称

ssl_session_timeout 5m;

ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #请按照这个协议配置

ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; #请按照这个套件配置,配置加密套件,写法遵循 openssl 标准。

ssl_prefer_server_ciphers on;

location / {

root /var/www/www.domain.com; #网站主页路径。此路径仅供参考,具体请您按照实际目录操作。

index index.html index.htm;

}

}

或较高版本的nginx可如下配置:

server {

listen 443 ssl; #SSL 访问端口号为 443 并启用 SSL 功能

server_name www.domain.com; #填写绑定证书的域名

ssl_certificate 1_www.domain.com_bundle.crt; #证书文件名称

ssl_certificate_key 2_www.domain.com.key; #私钥文件名称

ssl_session_timeout 5m;

ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #请按照这个协议配置

ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; #请按照这个套件配置,配置加密套件,写法遵循 openssl 标准。

ssl_prefer_server_ciphers on;

location / {

root /var/www/www.domain.com; #网站主页路径。此路径仅供参考,具体请您按照实际目录操作。

index index.html index.htm;

}

}

注意:

这里要确保两个文件的位置是相对与nginx.conf配置文件的位置。如果在nginx.conf 文件中使用了incude,而这个server节点配置在其他文件中,则路径还是相对于nginx.conf文件的位置。

3 修改80端口的配置

修改80端口的配置可以让http的url转发到https的url。

server {

listen 80;

server_name www.domain.com; #填写绑定证书的域名

rewrite ^(.*)$ https://$host$1 permanent; #把http的域名请求转成https

}

常见文件位置问题

证书文件和密钥文件的位置是相对与nginx.conf配置文件的位置。如果在nginx.conf 文件中使用了incude,而这个server节点配置在其他文件中,则路径还是相对于nginx.conf文件的位置。 如下图:

docker中ssl文件的位置

docker 中,nginx容器如果没有挂载ssl文件所在的目录,则需要手动将这两个文件复制在容器内部的nginx.conf文件旁边。如下图:

复制可使用 docker cp 命令。

验证ssl配置的正确性

在sbin目录下,执行 nginx -t

开放https 443端口

在主机的防火墙需要开放443端口,此外,如果还配置了云服务其的安全组,也需要开放443端口。

在docker容器中,需要重新运行nginx,并添加443端口的端口映射。

2019-09-05 16:06:35.0

java nginx https_docker nginx 配置ssl,实现https相关推荐

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

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

  2. Spring Boot配置SSL实现https请求

    Spring Boot配置SSL实现https请求 1. 生成SSL证书 专业的SSL证书较为昂贵,可以在腾讯云或者阿里云上申请免费的SSL证书. 如果只是做简单的demo,可以使用java自带的ke ...

  3. Java nginx 双向ssl_nginx配置ssl双向验证 nginx https ssl证书配置

    参考<nginx安装>:http://www.ttlsa.com/nginx/nginx-install-on-linux/ 如果你想在单IP/服务器上配置多个https,请看<ng ...

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

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

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

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

  6. Nginx配置ssl证书(https证书)

    https协议是由SSL+http协议构建的安全协议,支持加密传输和身份认证, 安全性比http要更好,因为数据的加密传输,更能保证数据的安全性和完整性. 安装nginx 1.启动容器: 拉取镜像 d ...

  7. Windows下Apache2.4配置SSL(HTTPS)

    目录 前言 准备SSL证书 1 自签名证书与CA证书 2 准备自签名证书 3 准备CA证书 apache2.4配置SSL证书 1 注意事项 2 SSL证书配置apache 3 CA证书配置apache ...

  8. Windows(二):windows+nginx+openssl本地搭建nginx并配置ssl实现https访问

    准备 下载OpenSSL (安装到自己喜欢的目录 - 安装过程中可能会让你安装 VC_redist.x64.exe 这个程序) https://slproweb.com/products/Win32O ...

  9. 一个主机nginx绑定多个SSL证书(https)

    由于多域名的ssl证书价钱较高,所以尝试用多个免费的ssl证书绑定到一个主机上.(捂脸.gif) 第一步 检查你的nginx是否支持SNI,检查方式如下 命令:nginx -V 若返回结果中有显示&q ...

最新文章

  1. 查看系统信息命令:uname
  2. D3引擎用正则运算的方式,实现智能设备APP消息推送
  3. python中序列类型和数组之间的区别_「Python」序列构成的数组
  4. 第二季3:海思MPP模块与视频缓冲池
  5. VS里的新建模板(自动添加版本注释)
  6. 高性能浏览器网络(High Performance Browser Networking) 第二章
  7. Django的MEDIA_ROOT和STATIC_ROOT
  8. ubuntu 16.04 + zabbix 3.4 + postgresql shell
  9. 菲尼克斯电源模块QUINT-PS3AC24DC40的组装说明
  10. android studio深色模式,Xamarin 中的深色模式
  11. 有实用简单的PS小技巧吗?下面几个小技巧你知道几个呢?
  12. PS4 Pro 拆机记
  13. 手机幻灯片html代码,html5手机幻灯片制作手指滑动触屏手机幻灯片代码
  14. voyage-linux系统,从Live CD安装Voyage linux到硬盘
  15. 基于模板替换的word文档自动生成
  16. 研究生做java如何发论文_研究生毕业论文怎么发表
  17. 【Spring Boot实战】源码解析Spring Boot自动配置原理
  18. MAC、IP、ARP协议
  19. 【正点原子Linux连载】第一章 应用编程概念-摘自【正点原子】I.MX6U嵌入式Linux C应用编程指南V1.1
  20. JavaScript中的for循环和银行取款案例

热门文章

  1. 【渝粤题库】陕西师范大学200681C语言程序设计 作业(高起专、高起本)
  2. 【渝粤题库】陕西师范大学201451 中国法制史作业
  3. 【指南】远程抄表系统(AMR/AMI)中无线模块选型
  4. php vimrc配置文件,vim技巧:我的 .vimrc 配置文件,详解每一个配置项的作用
  5. python flask 上传下载 api_python – 使用Flask上传和下载文件
  6. Java面向对象(12)--对象类型转换 (Casting )
  7. html在screen检索屏幕分辨率,Electron开发之screen模块-根据屏幕分辨率设置窗口大小...
  8. matlab小波脊线,小波脊线提取,模极大值法。运行的结果不太对,代码有些地方我也没完全看懂...
  9. 信号与系统 chapter8 LTI连续系统的描述
  10. CentOS7 修复boot目录