[nginx][tls] nginx配置https与ssl/tls的sni的方法
一 https的sni配置方法
http {
}
server {
listen 443 ssl;
server_name test1.www.local test1.tls.local;
ssl_certificate /root/sni/sni_test1.cer;
ssl_certificate_key /root/sni/sni_test1.key;
location / {
root /data/www;
}
}
server {
listen 443 ssl;
server_name test2.www.local test2.tls.local;
ssl_certificate /root/sni/sni_test2.cer;
ssl_certificate_key /root/sni/sni_test2.key;
location / {
root /data/www;
}
}
server {
listen 443 ssl;
server_name test3.www.local test3.tls.local;
ssl_certificate /root/sni/sni_test3.cer;
ssl_certificate_key /root/sni/sni_test3.key;
location / {
root /data/www;
}
}
}
二 https的sni配置方法
http {
#map \$server_name \$sni_string {
map \$ssl_server_name \$sni_string {
test1.www.local test1;
test2.www.local test2;
test3.www.local test3;
# default xxx;
}
server {
listen 443 ssl;
ssl_certificate /data/sni/sni_\${sni_string}.cer;
ssl_certificate_key /data/sni/sni_\${sni_string}.key;
location / {
root /data/www;
}
}
}
三 tls的sni配置方法
stream {
upstream test {
server 127.0.0.1:50001;
}map \$ssl_server_name \$sni_string {
test1.www.local test1;
test2.www.local test2;
test3.www.local test3;
default test1;
}server {
listen 444 ssl;
ssl_certificate /data/sni/sni_\${sni_string}.cer;
ssl_certificate_key /data/sni/sni_\${sni_string}.key;
proxy_pass test;
}
}
四 复合情况下sni的配置方法
复合情况是指,多个server使用了相同的server name,又需要配置不同的证书文件时。
使用map定义多个不同的变量映射的方法,可以支持多个server的情况,如下,分别定义了两个变量 $sni_string 与 $sni_string445
用来处理不同的server。
stream {
upstream test {
server 127.0.0.1:50001;
}map \$ssl_server_name \$sni_string {
test1.www.local test1;
test2.www.local test2;
test3.www.local test3;
default test1;
}
map \$ssl_server_name \$sni_string445 {
test1.www.local test4451;
test2.www.local test4452;
test3.www.local test4453;
default test4451;
}
server {
listen 444 ssl;
ssl_certificate /data/sni/sni_\${sni_string}.cer;
ssl_certificate_key /data/sni/sni_\${sni_string}.key;
proxy_pass test;
}
server {
listen 445 ssl;
ssl_certificate /data/sni445/sni_\${sni_string445}.cer;
ssl_certificate_key /data/sni445/sni_\${sni_string445}.key;
proxy_pass test;
}
}
[author: classic_tong, date: 20190925]
[nginx][tls] nginx配置https与ssl/tls的sni的方法的更多相关文章
- Nginx、Tomcat配置https
一.Nginx.Tomcat配置https 前提就是已经得到了CA机构颁发的证书 一.合并证书 1.假设证书文件如下 秘钥文件server.key,证书CACertificate-INTERMEDIA ...
- nginx使用certbot配置https
一般现在的网站都要支持https,即安全的http. 机器:阿里云Ubuntu 16.04.3 LTS 方案一:自己申请证书 配置时需要确保有ssl模块, 之后域名解析下, 之后时申请证书,可以去阿里 ...
- 单机部署minio,设置Nginx代理,配置https(TLS)访问
安装 下载地址:https://dl.min.io/ # 创建目录 mkdir -p /usr/local/minio/{data,bin,etc} # 下载minio wget https://dl ...
- nginx,apache,tomcat配置https的阿里提供的文档
安装证书 ( 1 ) 打开 Nginx 安装目录下 conf 目录中的 nginx.conf 文件,找到 # HTTPS server # #server { # listen 443; # serv ...
- nginx 反向代理 配置 https 实现http https同时存在
server { listen ssl; #监听443端口 server_name www.app01.com; ssl on; #启用ssl加密 ssl_certificate /etc/cert/ ...
- nginx 反向代理 配置 https 实现http https同时存在 经测试 支持location 规则
server { listen ssl; #监听443端口 server_name www.app01.com; ssl on; #启用ssl加密 ssl_certificate /etc/cert/ ...
- 微信小程序需求IIS服务器配置https关于SSL,TLS的综合解决方案
SpringBoot配置SSL同时支持http和https访问 传输层安全性协议(英语:Transport Layer Security,缩写作 TLS),及其前身安全套接层(Secure Socke ...
- 聊聊HTTPS和SSL/TLS协议
要说清楚 HTTPS 协议的实现原理,至少需要如下几个背景知识.1. 大致了解几个基本术语(HTTPS.SSL.TLS)的含义2. 大致了解 HTTP 和 TCP 的关系(尤其是“短连接”VS“长连接 ...
- 浅谈HTTPS和SSL/TLS协议的背景和基础
相关背景知识要说清楚HTTPS协议的实现原理,至少要需要如下几个背景知识.大致了解几个基础术语(HTTPS.SSL.TLS)的含义大致了解HTTP和TCP的关系(尤其是"短连接"和 ...
随机推荐
- Puppeteer最大化显示,分辨率自适应
Puppeteer自适应分辨率,可以将defaultViewport设为null, 启动的时候还是半屏显示,点击最大化按钮,可以最大化显示. 这样分辨率能够自适应操作系统. 具体可看:https:// ...
- k8s记录-master组件部署(八)
在 192.168.0.1 app 用户下执行1)程序准备tar zxvf kubernetes-server-linux-amd64.tar.gzmv kubernetes/server/bin/{ ...
- Mysql关键字之Group By(一)
原文地址,优先更新https://hhe0.github.io group by 是一个我们在日常工作学习过程中经常遇到的一个Mysql关键字.现总结其用法如下,内容会不断补充,出现错误欢迎批评指正. ...
- python语言使用yaml 管理selenium元素
1.所有元素都在PageElement下的.yaml,如图 login_page.yaml文件: username: dec: 登录页 type: xpath value: //input[@clas ...
- k8s添加凭证
请参照:https://www.cnblogs.com/effortsing/p/10013441.html
- [LeetCode] 45. Jump Game II 跳跃游戏 II
Given an array of non-negative integers, you are initially positioned at the first index of the arra ...
- [02]Go设计模式:原型模式(Prototype )
目录 原型模式 一.简介 二.代码实现 三.参考资料: 原型模式 一.简介 原型模式(Prototype Pattern)是用于创建重复的对象,同时又能保证性能.这种类型的设计模式属于创建型模式,它提 ...
- 百度地图jsapi 自定义大头针的方法
百度地图jsapi 自定义大头针的方法<pre> var myIcon = new BMap.Icon("http://developer.baidu.com/map/jsdem ...
- 【剑指offer】面试题 24. 反转链表
面试题 24. 反转链表
- 【Linux】多线程同步的四种方式
背景问题:在特定的应用场景下,多线程不进行同步会造成什么问题? 通过多线程模拟多窗口售票为例: #include <iostream> #include<pthread.h> ...