[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的关系(尤其是"短连接"和 ...
随机推荐
- git用法汇总
使用了一年多的git命令了,昨晚竟然又出现了问题.虽然解决了,不过还是被罚了... 总结下自己常用的git命令和遇到的一些坑. 1)常用的命令 1. 从git远程分支clone代码: git clon ...
- [简短问答]C-Lodop中一些测试用的地址
测试访问:访问http://localhost:8000欢迎页面试试进入欢迎页面http://localhost:8000,点欢迎页面的预览试试 查看下c-lodop启动界面,在设置里查看下当前启动的 ...
- python+lego ev3的心得总结 随时更新
一.连接方面 1.试了蓝牙连接,被电脑防火墙拒绝了很多次,很奇怪,明明都pin码都对上了,然后瞬间被踢开. 2.数据线直连,在一台win7上怎么试也不行,在另一台上自动上windows update上 ...
- 解决Python查询Mysql数据库信息乱码问题
今天尝试着用 Python 写了个脚本试着连接 mysql 数据库,并查询里边的数据,不过最终查询结果中文字符变成了ascii格式. 代码如下: #!/usr/bin/python #encoding ...
- Linq查询连接guid与varchar字段
使用场景 在数据库设计中进场会出现一些通用表,如通用附件表,一般都是通过ForeignTable(关联的表名)和ForeignKey(关联表的主键)与其他表关联.这样的表在数据库中没有外键关系,而且一 ...
- CentOS 初始化脚本
#!/bin/bash # curl https://yiyingcanfeng.github.io/centos-init.sh | bash # 可选参数base kernel python ph ...
- MyBatis框架的详解
一.MyBatis的介绍 在使用的时候,需要配置文件的方式告知框架需要的信息,多数会使用XML文件作为框架的配置文件. 框架都是由第三方提供的,提供的都是jar包.因此,使用框架前,必须将框架涉及的j ...
- 隐藏GridControl的“Drag a column header here to group by that column”
打开设计器,找到OptionsView,往下拉设置showGroupPanel为false
- python爬虫-80电子书,爬图片
''' 作者:Caric_lee 日期:2018 查看图片 ''' import requests from bs4 import BeautifulSoup r = requests.get(&qu ...
- [BZOJ2739]最远点(DP+分治+决策单调性)
根据旋转卡壳,当逆时针遍历点时,相应的最远点也逆时针转动,满足决策单调性.于是倍长成链,分治优化DP即可,复杂度O(n^2). #include<cstdio> #include<a ...