ssl证书及http2.0

需求:
1.用于https证书上线测试,办公环境需要通过https测试网站,外部环境全部走http访问。
2.使用web端进行配置
架构:
nginx +多个tomcat

upstream test {
                server 172.16.9.203:8080 weight=2;
                server 172.16.9.204:8080 weight=2;
                server 172.16.9.205:8080 weight=3;
        }
server {
        listen       80;
        server_name  www.test.com;
       location / {
                proxy_pass http://test/;
                proxy_read_timeout 300;
                proxy_set_header Host $http_host;
                proxy_set_header X-Real-IP $remote_addr;

        if ($remote_addr !~ ^172\.16\.9\.226|172\.16\.9\.244) {

#       rewrite ^(.*) https://$host$1 permanent;
        return 302 https://www.test.com$request_uri;
#       error_page 400 https://$host$uri?$args;
        }
        }
}
server {
        listen       443;
        server_name  www.test.com;
        ssl on;
        ssl_certificate /etc/nginx/conf/key/server.pem;
        ssl_certificate_key /etc/nginx/conf/key/server.key;
        ssl_session_timeout  5m;
        ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers  HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM;
        ssl_prefer_server_ciphers   on;
        location / {
                proxy_pass http://test/;
                proxy_read_timeout 300;
                proxy_set_header Host $http_host;
                proxy_set_header X-Real-IP $remote_addr;

       }
      #  location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|ico|js|css)$ {
      #      root /data/tomcat/webapps;
      #      expires      1d;
      #  }

    access_log  /var/log/nginx/www.test.com.access.log  main;

    #error_page  404              /404.html;

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/local /nginx/html;
    }

    #location ~ /\.ht {
    #    deny  all;
    #}
}

需要测试是否成功,一般来说一定会成功,这里我们做的是302临时跳转,如果做永久跳转可以看注释的部分。
如果前端有CDN
需要这样配置(日志配置main中需要根据CDN供应商返回给的HTTP_X_FORWARDED_FOR来进行配置)

由于,加证书会带来系统资源的消耗和宽带的消耗,同时传输性能有影响,所以一般加https后,都采用http2.0协议进行通信(http2.0,nginx需要编译--with-http_v2_module,这个性能方面需要测试,这仅是我的个人猜测。要想了解更多,请查阅http2.0协议)

原文地址:http://blog.51cto.com/laodou/2089019

时间: 2024-10-03 10:08:29

ssl证书及http2.0的相关文章

Resin 4.0 部署SSL证书

前言 Resin目前最新的版本还是4.0 (4.0.49),使用Java EE6,在Resin上部署证书,一般有两种方式,首先我们推荐采用Openssl方式,不仅因为Openssl模式下的速度更快,而且Openssl对TLS的支持更好,安全性高:另外一种JSSE方式,不仅速度慢,而且JSSE6仅支持TLS1.0. 我们在下面会分别介绍这2种模式. 查找中间证书 如果采用Openssl模式部署证书,为了确保兼容到所有浏览器,我们必须部署中间证书,如果不这么做,虽然安装过程并不会报错,但可能导致An

Win server 2012 +IIS8.0下安装SSL证书

SSL证书的申请: 成功在景安申请证书后,会得到一个有密码的压缩包文件,输入证书密码后解压得到五个文件:for Apache.for IIS.for Ngnix.for Other Server,这个是证书的几种格式,解压for IIS压缩包,会得到一个域名.pfx格式的证书,IIS8.0上需要用到pfx格式的证书.   导入SSL证书: 开始 -〉运行 -〉MMC,启动控制台程序 -> 选择菜单“文件 -〉添加/删除管理单元”->列表中选择“证书”->点击“添加”-> 选择“计算

免费SSL证书(支持1.0、1.1、1.2)

由于公司要开发微信小程序,而微信小程序的接口需要https协议的,并且要支持TLS1.0.TLS1.1.TLS1.2.如果仅仅是为了开发小程序,安全等级又不用太高,可以选择免费的SSL证书 在这里选择腾讯云的证书,申请在 https://console.qcloud.com/ssl 腾讯云里有详细的帮助与文档  https://www.qcloud.com/document/product/400/6814 根据腾讯云的帮助文档去申请安装验证,基本是没什么问题的 安装成功后,使用 https:/

更换ADFS3.0的SSL 证书

最近的项目初期使用了自建域证书,结果在域外这个证书在IE里面无法添加到受信任的证书颁发机构(可能是由于无法连接到域的证书颁发机构的原因).无奈之下,只好用makecert创建了自签名的ssl证书.下面是怎么去替换ADFS3.0的ssl证书. A 替换ADFS3.0的证书 1 将新的证书导入到ADFS3机器的个人存储区(是本地计算机的个人存储区) 2 新的证书必须是pfx格式,有私钥的 3 进入本地计算机证书管理单元(mmc) 选择导入的证书,然后所有任务-管理私钥,添加ADFS服务账户,注意,在

HTTP,HTTP2.0,SPDY,HTTPS你应该知道的一些事

转载自AlloyTeam:http://www.alloyteam.com/2016/07/httphttp2-0spdyhttps-reading-this-is-enough/ 1. web始祖HTTP 全称:超文本传输协议(HyperText Transfer Protocol) 伴随着计算机网络和浏览器的诞生,HTTP1.0也随之而来,处于计算机网络中的应用层,HTTP是建立在TCP协议之上,所以HTTP协议的瓶颈及其优化技巧都是基于TCP协议本身的特性,例如tcp建立连接的3次握手和断

TCP/IP、HTTP、HTTPS、HTTP2.0

TCP/IP.HTTP.HTTPS.HTTP2.0 HTTP,全称超文本传输协议(HTTP,HyperText Transfer Protocol),是一个客户端和服务器端请求和应答的标准(TCP),互联网上应用最为广泛的一种网络协议.客户端是终端用户,服务器端是网站.通过使用Web浏览器.网络爬虫或者其它的工具,客户端发起一个到服务器上指定端口(默认端口为80)的HTTP请求. HTTPS,即加密后的HTTP.HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非

Let's Encrypt 免费通配符 SSL 证书申请教程——但是也需要email,域名所有权等,如果是黑产用的话会这样用吗?会不会暴露自己身份???

Let's Encrypt 免费通配符 SSL 证书申请教程 from:https://blog.csdn.net/English0523/article/details/79608464 2018 年 3 月 14 日,Let's Encrypt 对外宣布 ACME v2 已正式支持通配符证书.这就意外味着用户可以在 Let's Encrypt 上免费申请支持通配符的 SSL 证书. 什么是 Let's Encrypt Let's Encrypt 是国外一个公共的免费 SSL 项目,由 Lin

Docker环境下自动更新Let’s Encrypt SSL证书

说明:以下脚本在Ubuntu 18.04运行通过,大部分脚本执行需要管理员权限. 1. 准备docker环境 # 安装必备工具包 apt-get -y install apt-transport-https ca-certificates curl software-properties-common # 添加docker阿里云源,相对官方源速度更快 curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo ap

HTTP1.0和HTTP1.1以及HTTP2.0的区别

HTTP1.0和HTTP1.1区别 版本 HTTP1.0 HTTP1.1 连接方面 使用 非持久连接,即在非持久连接下,一个tcp连接只传输一个web对象.每次请求和响应都需要建立一个单独的连接,每次连接只是传输一个对象,严重影响客户机和服务器的性能 默认使用持久连接(然而,HTTP/1.1协议的客户机和服务器可以配置成使用非持久连接)在持久连接下,不必为每个Web对象的传送建立一个新的连接,一个连接中可以传输多个对象.在一个TCP连接上可以传送多个HTTP请求和响应,减少了建立和关闭连接的消耗