Netty5 + HTTPS 练习】的更多相关文章

本次以<Netty权威指南>第十章里面的例子为基础修改而来 HttpsFileServerHandler.java package com.jieli.nettytest.httpsfile; import java.io.File; import java.io.RandomAccessFile; import java.net.URLDecoder; import java.util.regex.Pattern; import javax.activation.MimetypesFileT…
  一.说在前面的话 前段时间,工作上需要做一个针对视频质量的统计分析系统,各端(PC端.移动端和 WEB端)将视频质量数据放在一个 HTTP 请求中上报到服务器,服务器对数据进行解析.分拣后从不同的维度做实时和离线分析.(ps:这种活儿本该由统计部门去做的,但由于各种原因落在了我头上,具体原因略过不讲……) 先用个“概念图”来描绘下整个系统的架构: 嗯,这个是真正的“概念图”,因为我已经把大部分细节都屏蔽了,别笑,因为本文的重点只是整个架构中的一小部分,就是上图中红框内的 http serve…
1. 了解WebSocket知识 略2. websocket实现系统简单反馈时间 WebSocketServerHandler.java package com.jieli.nettytest.websocketserver; import io.netty.bootstrap.ServerBootstrap; import io.netty.channel.ChannelFuture; import io.netty.channel.ChannelInitializer; import io.…
1. 安装开发环境 1.1 Netty环境 这里我使用Netty5.0.0版本 到这里下载即可http://netty.io/ 下载netty-all-5.0.0.Alpha2.jar 这个jar包简单配置一下即可使用.1.2 Protobuf环境 这个就比较麻烦了,这里说一下我的做法. 可以在这里下载最新版https://github.com/google/protobuf 或者使用 v2.6.1稳定版 https://github.com/google/protobuf/tree/v2.6.…
<Netty5.0架构剖析和源码解读>[PDF]下载链接: https://u253469.pipipan.com/fs/253469-230062545 内容简介 Netty 是个异步的事件驱动网络应用框架,具有高性能.高扩展性等特性.Netty提供了统一的底层协议接口,使得开发 者从底层的网络协议 (比如 TCP/IP. UDP) 中解脱出来. 就使用来说, 开发者只要参考Netty 提供的若干例子和它的指南文档,就可以放手开发基于 Netty 的服务端程序了. 在Java 社区,最知名的…
Netty5客户端源码解析 今天来分析下netty5的客户端源码,示例代码如下: import io.netty.bootstrap.Bootstrap; import io.netty.channel.ChannelFuture; import io.netty.channel.ChannelInitializer; import io.netty.channel.ChannelOption; import io.netty.channel.EventLoopGroup; import io.…
Netty5源码解析 今天让我来总结下netty5的服务端代码. 服务端(ServerBootstrap) 示例代码如下: import io.netty.bootstrap.ServerBootstrap; import io.netty.channel.ChannelFuture; import io.netty.channel.ChannelInitializer; import io.netty.channel.ChannelOption; import io.netty.channel…
阅读本文约“3.2分钟” 最近又有粉丝加Q群讨论netty整合SSM项目的方式等,我在这里抽了休息日的时候整理一下,一步一步的记录,注意的是,本案例仅实现了用netty整合SSM后与单片机等类TCP应用通信. 项目以防止github,接下来的文档代码块均用截图表示,大家可以去github查看具体的代码资料 首先我用IDEA进行项目的初始化 接下初始化对应的pom文件还有配置文件 主要还是版本问题,其他版本我还没试过,所以坑的话,大家还要继续踩踩. 主要是netty中连接池对数据的处理,是在线程中…
Netty5.x 和3.x.4.x的区别及注意事项 (官方翻译) 本文档列出了Netty5新版本中值得注意变化和新特性列表.帮助你的应用更好的适应新的版本.   不像Netty3.x和4.x之间的变化,5.x没有那么大的变化,不过也取得了其简化设计中的一些突破性进展..我们力求尽可能平滑的从4.x版本过度到5.x版本,如果你在迁移过程中遇到任何问题,请告知我们.     核心变化    支持Android   提供了: 移动设备变成更加强大 通过Ice Cream Sandwich解决了在ADK…
1.netty5和netty4的区别不是很大,但是与netty3差别还是有的.这里不介绍netty4,因为和netty5的方式都差不多.netty5的复杂性相对于netty3要多很多了.基本上架构都被重构了.所以这里主要是介绍一些属性和用法. 2.核心的变化主要有: 支持Android   提供了: 移动设备变成更加强大 通过Ice Cream Sandwich解决了在ADK中最著名的与NIO和SSLEngine相关的问题,且 用户显然想要重用他们应用中的的编解码和处理器代码. 我们决定官方支持…
前言 HSTS 的出现,对 HTTPS 劫持带来莫大的挑战. 不过,HSTS 也不是万能的,它只能解决 SSLStrip 这类劫持方式.但仔细想想,SSLStrip 这种算劫持吗? 劫持 vs 钓鱼 从本质上讲,SSLStrip 这类工具的技术含量是很低的.它既没破解什么算法,也没找到协议漏洞,只是修改和代理了明文的封包而已. 如果说劫持,要保持源站点不变才算的话,那 SSLStrip 并没做到.根据同源的定义,<协议, 主机名, 端口> 三者必须相同.显然它修改了协议,因此并非在源站点上劫持…
近一年公司在努力推进全站的 HTTPS 化,作为负责应用系统的我们,在配合这个趋势的过程中,顺便也就想去搞清楚 HTTP 后面的这个 S 到底是个什么含义?有什么作用?带来了哪些影响?毕竟以前也就只是模糊的知道大概是更安全,但到底怎么变得更安全的,实际上整个细节和流程并没有掌握的特别清晰. 所以这篇关于 HTTPS 的技术总结文章,主要提供一个关于 HTTPS 中的 S 一个整体的认识.从其产生的历史背景.设计目标说起,到分析其协议设计结构.交互流程是如何实现其目标.最后结合我们自己的案例分析下…
平台之大势何人能挡? 带着你的Net飞奔吧!:http://www.cnblogs.com/dunitian/p/4822808.html#iis 怎么让网站在本地支持SSL?http://www.cnblogs.com/dunitian/p/5248957.html 添加网站的时候不要只选择https(绑定里面添加https,这样就可以访问http和https了) http地址 https地址 如果证书有问题可以去https://buy.wosign.com/free/ 在线申请 证书在线申请…
一.简单总结 1.HTTPS概念总结 HTTPS 就是对HTTP进行了TLS或SSL加密. 应用层的HTTP协议通过传输层的TCP协议来传输,HTTPS 在 HTTP和 TCP中间加了一层TLS/SSL加密层. HTTP是明文传输,而现在HTTPS把明文加密后 再给TCP传输. 2.HTTPS实现的简化版 2.1.HTTPS在三次握手的时候用非对称加密生成 一个密钥,后面的数据通信就用这个密钥进行对称加密通信.这样既做到了安全性,又避免了非对称加密的效率问题. 2.2.有的时候我们需要做接口的安…
一.假新闻如此猖獗 刚才一位老同事 打电话问:我们公司还是用的HTTP,马上就到2017年了,提交AppStore会被拒绝,怎么办? 公司里已经有很多人问过这个问题,回答一下: HTTP还是可以正常提交,不满足 苹果要求的 HTTPS 也可以正常提交.只需要修改下info.plist里的ATS配置. 另外,昨天(2016-12-21)苹果发布声明,ATS的适配规则往后延,时间还没定.也就是现在,大家什么都不用改了.如果苹果不出这个新闻,大家也不用适配HTTPS,因为苹果规定的是禁止忽略ATS,这…
前言 话说又来需求了,之前对于在SelfHost中需要嵌套页面并操作为非正常需求,这回来正常需求了,客户端现在加了https,老大过来说WebAPi访问不了了,这是什么情况,我去试了试,还真是这个情况,不知道如何下手啊,最终为了解决这个问题,漫长的探索之旅就这样开始了,希望给需要在SelfHost下启动Https的童鞋一点启示和帮助. 话题引入 当在客户端发送请求发送不过去时看了看谷歌控制台显示的消息大意是不能混合使用即客户端为https,则WebAPi不能为http,估计是为了安全的问题,于是…
WeTest 导读 2017年1月1日起,苹果公司将强制使用HTTPS协议传输.本文通过对HTTPS基础原理和通信过程内容的讲解,介绍APP开发者在这个背景下的应对办法. 几周前,我们在<https大势已来?看腾讯专家如何在高并发压测中支持https>中介绍了腾讯WeTest在基于epoll的高并发机器人框架中加入openssl的方法支持HTTPS接口测试的方法,不仅介绍了具体的使用办法,并且了解到HTTPS注定会是未来的主流趋势. 而随着2016年行将结束,我们发现,这一天,已经越来越近了.…
今天公司有个网站需要改用https访问,所以就用到SSL证书.由于沃通(以前我是在这里申请的)暂停了免费的SSL证书之后,其网站推荐了新的一个网站来申请证书,所以,今天因为刚好又要申请一个证书,所以,我就到这个网站申请了证书,趁着有一点点小空隙的时间,然后最近也没新写博文了,有些手痒痒.所以,就写了一下这个申请流程,流程就是如下: 1,打开进入网站:https://www.startssl.com/     2,如果还没有账号的,那就先注册,方式如下:       然后他就会给你填写的有限发送验…
最近为了满足苹果的 https 要求, 经过努力终于写出了方法 验证 SSL 证书是否满足 ATS 要求 nscurl --ats-diagnostics --verbose https://你的域名 PASS 符合要求 输出满足 ATS 的证书 openssl s_client -connect 你的域名:443 </dev/null 2>/dev/null | openssl x509 -outform DER > https.cer 1. 针对 AFNetWorking (2.6.…
一.HTTPS简述随着网络的日常,信息安全越来越重要,传统的网站都是http协议明文传输,而HTTPS协议是由SSL+HTTP协议构建的可进行加密传输.身份认证的网络协议,比http协议安全. 那https到底是怎么开启的,随着疑问自己也了解https配置原理并在Ubuntu服务器上开启了https. 二.配置证书 配置https一个很重要的步骤就是配置证书. 1.创建证书 sudo apt-get install ssl-cert make-ssl-cert生成证书的方法有两种,一种是根据生成…
nginx代理https站点(亲测) 首先,我相信大家已经搞定了nginx正常代理http站点的方法,下面重点介绍代理https站点的配置方法,以及注意事项,因为目前大部分站点有转换https的需要所以学习这个方法也是很重要的,我就不啰嗦了 直奔主题了------ 测试环境 nginx版本 nginx/1.6.3 php版本  5.5.38 mysql版本 5.5.32 前提,后端web节点已经可以同时监听80,443端口(站点可以正常通过web节点访问http和https),具体配置https…
1.下载charles 可以去charles官网下载,下载地址:http://www.charlesproxy.com/download/    根据自己的操作系统下载对应的版本,然后进行安装,然后打开charles工具 2.设置代理(记住手机跟电脑要在同一个网络,用的同一个路由器) 1).查看默认端口    Proxy->Proxy Settings  在这个页面会看到HTTP Proxy的默认端口是8888   我们不需要修改,只需要知道有这个值就行 2).查看当前电脑的ip    例如我这…
一.http的缺点 之前有介绍过http协议相关的一些知识,http是相当优秀和方便的,但它也有缺点,主要不足表现在如下几个方面: △ 通信使用明文(不加密),内容可能会被窃听 △ 不验证通信方的身份,因此可能遭遇伪装 △ 无法证明报文的完整性,所以有可能已被篡改 其他未加密的协议也存在这类问题 △ 某些特定web服务器和特定web浏览器存在安全漏洞 1.通信使用明文可能被窃听 http本身不具有加密功能,无法做到对通信整体(使用http协议通信的请求和响应内容)进行加密,即:http报文使用明…
Vincent.李   Windows下Nginx配置SSL实现Https访问(包含证书生成) Windows下Nginx配置SSL实现Https访问(包含证书生成) 首先要说明为什么要实现https? HTTP全名超文本传输协议,客户端据此获取服务器上的超文本内容.超文本内容则以HTML为主,客户端拿到HTML内容后可根据规范进行解析呈现.因此,HTTP主要负责的是"内容的请求和获取".问题就出在这部分.行监控.劫持.阻挡等行为很容易导致网站泄密,一些关键参数比如登录密码开发者会在客…
前言 在之前介绍的流量劫持文章里,曾提到一种『HTTPS 向下降级』的方案 -- 将页面中的 HTTPS 超链接全都替换成 HTTP 版本,让用户始终以明文的形式进行通信. 看到这,也许大家都会想到一个经典的中间人攻击工具 -- SSLStrip,通过它确实能实现这个效果. 不过今天讲解的,则是完全不同的思路,一种更有效.更先进的解决方案 -- HTTPS 前端劫持. 后端的缺陷 在过去,流量劫持基本通过后端来实现,SSLStrip 就是个典型的例子. 类似其他中间人工具,纯后端的实现只能操控最…
一.环境 1.jexus版本:Jexus/5.8.2.8 Linux专业版 内置mono版本:Mono/4.6.2.7 2.操作系统:centOs7 jexus独立版由于是免安装版并且内置mono,所以解压即可使用. 二.准备工作 1.生成private key + .csr 网址:http://web.chacuo.net/netsslcsr 2.购买ssl证书 三.部署 1.首先查看"/lib"或"/usr/lib"等系统库文件夹中是否有SSL库文件的名字,该文…
全球HTTPS时代已来,你跟上了吗? 互联网发展20多年,大家都习惯了在浏览器地址里输入HTTP格式的网址.但前两年,HTTPS逐渐取代HTTP,成为传输协议界的"新宠". ​ 早在2014年,由网际网路安全研究组织Internet Security Research Group(ISRG)负责营运的 "Let's Encrypt"项目就成立了,意在推动全球网站的全面HTTPS化:今年6月,苹果也要求所有IOS Apps在2016年底全部使用HTTPS:11月,Go…
本人在做商用项目的推送消息功能时,借助第三方推送服务.这里避免有打广告的嫌疑,就不报名字了.由于是通过调用API接口,所以Post方法是自己写的,但是在开发环境是可以正常推送的,但是一上线就出各种问题.楼主猜测可能是开发环境测试时,推送的消息比较少,而线上推送消息很多,从而导致和连接数相关的错误.下文很有帮助,记录于此. 报的错误为:1. "基础连接已经关闭: 发送时发生错误"; 2016年10月25日18:56:53更新 后来本篇的所有方法都尝试了,发现最后也没解决问题.最后问题终于…
接上篇<腾讯云下安装 nodejs + 实现 Nginx 反向代理>,想从头一步到位的同学建议从上篇文章开始阅读.本文将继续介绍如何通过 Nginx 免费部署HTTPS. 留意下,这里的“免费”指的是HTTPS证书的获取,至于域名还是需要额外购买(其实域名真心很便宜了). 笔者在腾讯云上购买了 vajoy.org 的域名,并根据官方指引进行了解析处理,绑定到服务器ip上(留意处理后大约10分钟后才能ping通): 接着在云主机修改配置,执行: #vim /home/ubuntu/nginx/c…
这次使用的Netty是最新的5.0 Alpha2版本,下载地址是:http://dl.bintray.com/netty/downloads/netty-5.0.0.Alpha2.tar.bz2,发布时间是2015年3月,到现在快一年了,咋还不更新呢?有些奇怪…… 制作一张自签证书(jks格式) #keytool -genkey -keysize 2048 -validity 365 -keyalg RSA -dnam e "CN=gornix.com" -keypass 654321…