DEAD MAN CODING

FOOOLING.COM

Java发送不安全的HTTPS

June 23, 2016, 11:22 a.m.

如何将HTTPS当HTTP用?



            SSLConnectionSocketFactory sslSF = new SSLConnectionSocketFactory(builder.build(),
                    SSLConnectionSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);

            CloseableHttpClient httpClient = HttpClients.custom().setSSLSocketFactory(sslSF).build();

            HttpGet httpGet = new HttpGet("https://" + ip + ":" + port + "/xxx/xxxx");


            try {
                HttpResponse response = httpClient.execute(httpGet);
                System.out.println(response.getStatusLine());
                HttpEntity entity = response.getEntity();
                InputStream inputStream = entity.getContent();
                ByteArrayOutputStream result = new ByteArrayOutputStream();
                byte[] buffer ...

阅读全文

Spring 2.5.6 手动初始化的动态配置

Jan. 11, 2016, 12:43 a.m.

试了下Spring Framework的古代版本2.5.6, 需求是动态初始化,动态加载动态配置 

动态配置放到:

1. classpath:abc/abc.properties

2. file:path/to/abc.properties

包含 abc.service.address=127.0.0.1 的配置

这两种典型情况(为了不重新打包应用就能改配置)

Spring的context是xxx-context.xml

里面包含了例如 ${abc.service.address}这种变量引用。

试了试,这么写一下就能实现动态启动一个spring并且正确加载配置。


ApplicationContext ctx = new ClassPathXmlApplicationContext(new String[] { "classpath:xxx-context.xml" },// 可以是多个context配置文件
            false, // refresh ...

阅读全文

西数 My Passport Wireless简单权限设置

Dec. 9, 2015, 9:33 a.m.

之前买了MyPassport Wireless这款移动硬盘, 但是一直没怎么使用,大概因为权限比较坑爹,默认情况所有同一网络的人都可以访问内部文件,并且只有映射到各种网络程序上只有2个文件夹, Public和SDcard。

偶然想到这是个debian系统的话, 大概可以自己改吧。开启ssh后(写的是非常规操作会失去质保),改如下几个地方

1. Samba服务

Windows之间用的最多, 全系统通吃协议,配置文件在/etc/samba/smb.conf

详细配置怎么搞可以网上查,我改了如下几点(只先列出public的,SD的类似,要加别的文件夹按照相同格式即可,注意配置没写的都别删)


[Public]
valid users = "admin"
invalid users = "nobody"
write list = "admin"
guest ok = no
public = no

改完后还需要改改samba的admin密码,用这个指令修改密码


smbpasswd -a admin

改完后记得找找smbd的进程kill掉, 再重启一下,或者干脆直接重启 ...

阅读全文

西数WD MyCloud EX4100入手

Nov. 14, 2015, 4:26 p.m.


最近德淘入手一个西数的 NAS。 为什么大家都玩Gen8, 群辉什么的,而我买了个西数?  

哈哈  说来惭愧,之前淘宝剁了个WD MyPassport wireless 2T无线移动硬盘,这货自带WiFi发射的,也能快速插入SD卡进行文件拷贝,用着蛮爽不小心就中毒了。把数据存里面怕掉就有了NAS的需求。

而个人看重NAS的特性主要在于易用,省电,RAID,应用。 于是不一会儿就盯上了WD的MyCloud系列,全平台的设备都能连上无疑是其一大优势,因为之前买过一个plex.tv会员,于是支持plex也是一大选择理由,RAID的话自然就选了4盘位。

国内一看,恩,EX4这款还不错诶,冷静了下,去美亚看看,原来还有EX4100和DL4100这两位,秒了EX4,初看EX和DL性能差不多,仔细看一个是armv7 一个是intel atom x86,果然一个是给个人用一个是给公司用。出于省几百块钱的考虑买了个EX4100。

辗转德淘到手后一看果然给力,做工那叫一个扎实,不带硬盘的单机都相当沉重,插入美亚230刀购入的6T红盘之后呼呼呼地启动起来了,这时还以为坑了声音这么大,紧接着就如同戴上了降噪耳机一般,dead silent 。

可以看到, 这货总共有3个USB3.0的接口 ...

阅读全文

涨姿势,LVS的syn_proxy引发的奇怪现象

July 20, 2015, 7:24 p.m.

都知道TCP建立连接的时候会有个SYN握手。这件事情在LVS的fullnat模式下由于引入了一个“中间人”, 建立连接时会有两种策略。
1. 客户端与服务端的包全部经过中间人的转手, 原样递给双方。
2. 客户端与服务端的TCP连接时不会立即直接和服务端建立, 而是中间人单独和客户端建立连接,然后中间人再去和服务端建立连接。这种方式也就是syn_proxy这个功能的意义了。

从这两个方式本身来看, 正常的情况应该是用第一种了, 第二种有个明显的问题是,客户端认为连接建立好的时候其实并没有。。那么客户端接着发的内容就会被“阻挡”在中间人或者中间人满了有拒绝可能,这样的好处是流量超大时,前端请求不会把服务端压跪。

那么, 有件事情是最近遇到的。现象是客户端建立连接(应用层连接)速度异常缓慢(比如建100个连接的话, 平均1~2秒才能建好一个连接),而tcp连接的建立则表现出毫无压力的迹象,超级蛋疼。
抓包发现tcp win 的值会被LVS给从14600压制到115,这个窗口大小从TCP知识上来说是服务端告诉客户端自己只能接受xx大,多的受不了,那么客户机就会乖乖地把窗口改成115了。

于是试着投机取巧用sysctl将客户机的tcp window关了。。 改了下客户端的net.ipv4.tcp_window_scaling。 然后出现了神奇的一幕,客户机不再理会LVS设置tcp窗口的请求了,全部一口气发过去, 建100个连接倒是秒建了,然而QPS下降一半。。

果然还是不行的。最后联系了负责LVS的兄弟,他一看果然是syn_proxy给打开了 ...

阅读全文

友情链接