支持TLS SNI的浏览器和服务器 虚拟主机配置HTTPS SSL加密证书

2017-07-02服务器
265

TLS SNI,全称为the Transport Layer Security protocol Server Name Indication,支持在同一个服务器上面为不同的域名部署不同的SSL证书,实现多个虚拟主机HTTPS SSL站点共用一个服务器。SHA-1证书即将被SHA256证书取代,SHA-224、SHA-256、SHA-384,和SHA-512并称为SHA-2。

早期的SSL(the Secure Sockets Layer protocol)设计使得一个服务器只能提供一份加密证书,在同一服务器上面为不同的域名分配不同的SSL证书,对于不支持SNI的服务器,只有第一个虚拟主机的SSL证书能够被浏览器识别,用其他域名访问其他虚拟主机建立的SSL加密HTTPS站点,浏览器会告知SSL安全证书有问题不属于对应网站的警告。

支持SNI的浏览器
Windows XP中,IE6, IE7, IE8都不支持SNI,一个服务器配置了多个HTTPS站点时,只有第一个能正常访问,另外的会报SSL证书有问题。
Windows Vista, Windows 7, Windows 8, Windows 8.1, Windows 10中的Internet Explorer 7-11, Microsoft Edge都支持SNI
Google Chrome, Mozilla Firefox, Opera, Safari等现代浏览器都支持SNI,
至于国内的360, 百度, 搜狗之类的伪浏览器,只要内核支持,他们都支持……

支持SNI的服务器软件
Apache httpd 2.2.12 + mod_ssl
Nginx
lighttpd 1.4.24+
Microsoft IIS 8 (Internet Information Server 8)

nginx可以运行nginx -V,如果有TLS SNI support enabled,则支持SNI
  1. C:\Users\Administrator>nginx -V
  2. nginx version: nginx/1.10.1
  3. built by cl 16.00.30319.01 for 80x86
  4. built with OpenSSL 1.0.2h  3 May 2016
  5. TLS SNI support enabled
  6. configure arguments: --with-cc=cl --builddir=objs.msvc8 --with-debug --prefix= -
  7. -conf-path=conf/nginx.conf --pid-path=logs/nginx.pid --http-log-path=logs/access
  8. .log --error-log-path=logs/error.log --sbin-path=nginx.exe --http-client-body-te
  9. mp-path=temp/client_body_temp --http-proxy-temp-path=temp/proxy_temp --http-fast
  10. cgi-temp-path=temp/fastcgi_temp --http-scgi-temp-path=temp/scgi_temp --http-uwsg
  11. i-temp-path=temp/uwsgi_temp --with-cc-opt=-DFD_SETSIZE=1024 --with-pcre=objs.msv
  12. c8/lib/pcre-8.38 --with-zlib=objs.msvc8/lib/zlib-1.2.8 --with-select_module --wi
  13. th-http_realip_module --with-http_addition_module --with-http_sub_module --with-
  14. http_dav_module --with-http_stub_status_module --with-http_flv_module --with-htt
  15. p_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-htt
  16. p_auth_request_module --with-http_random_index_module --with-http_secure_link_mo
  17. dule --with-http_slice_module --with-mail --with-stream --with-openssl=objs.msvc
  18. 8/lib/openssl-1.0.2h --with-openssl-opt=no-asm --with-http_ssl_module --with-mai
  19. l_ssl_module --with-stream_ssl_module --with-ipv6

The End

相关推荐

Druid未授权访问漏洞怎么修复?
漏洞描述 Druid是阿里巴巴数据库出品的,为监控而生的数据库连接池,并且Druid提供的监控功能,监控SQL的执行时间、监控Web URI的请求、Session监控,首先Druid是不存在什么漏洞的。但当开发者配置不当时就可能造成未授权访问。 修复方案 修改中间件配置,给...
2025-07-29 服务器
105

docker占用空间怎么清理?
查看docker占用空间 docker system df 清理docker占用空间 # 删除未使用的镜像,不加-a就删除从未使用过的镜像 docker image prune -a # 删除未使用的docker volume docker volume prune # 删除每个未使用的容器、镜像、volumes和networks docker system prun...
2025-07-08 服务器
176

Nginx强制http跳转https访问的几种方法
Nginx让http的链接自动跳转到https的链接,其实方法还是蛮多的,下面介绍两种常用方法。 方法一 可以把所有的HTTP请求通过rewrite重写到HTTPS上 server{ listen 80; server_name XXXXX.com; //你的域名 //rewrite ^(.*)$ https://XXXXXX.com permanent; rewri...
2023-06-19 服务器
372

服务器CPU间歇性跑满达到100%如何处理
CPU就是服务器的核心所在,不论处理任何任务都需求CPU来完成,一旦CPU呈现爆满,那么咱们的服务器就会呈现卡顿乃至是死机无法连接等状况,那么假如咱们的服务器CPU间歇性跑满,该如何处理呢? 首先我们要观察服务器的运行状态,如果是突然性的跑满或者在某一...
2023-04-23 服务器
262

教你突破基于HTTP_REFERER的防盗链的方法
其实防盗链这个技术并不复杂,目前基本就是在服务器端判断HTTP_REFERER的位置,如果不是来自本站自身,则拒绝输出详细。 那么如果考虑突破防盗链的措施,就需要考虑在HTTPREFERER上面做手脚了。PHP 脚本中对应的变量是$SERVER[HTTPREFERER] ,它存储了 HTTPRE...
2022-12-13 服务器
267

Referer等错误码处理-爬虫反扒机制处理
HTTP来源地址(referer,或 HTTP referer)是HTTP表头的一个字段,用来表示从哪儿链接到目前的网页,采用的格式是URL。换句话说,借着HTTP来源地址,目前的网页可以检查访客从哪里而来,这也常被用来对付伪造的跨网站请求。网站里面常常会用到这个属性来对爬...
2022-12-12 服务器
322