这两天上海38度,脑袋发昏写不出啥东西,就拿以前积攒的内容来充数好了。
在WebSphere Application Server中可以有两个环节可以启用SSL来提高安全性:一是在客户端和IBM HTTP Server(IHS)间启用SSL,二是在IHS和应用服务器之间启用SSL。两个环节可以单独启用,也可以同时开启SSL。
一般我们会在客户端和IHS之间建立SSL连接,因为互联网在信息开放的同时带来了很多安全方面的问题,这点不用我多累述。而IHS一般处在拓扑结构的DMZ区,和互联网之间隔着一层防火墙,应用服务器则处在更安全的内部网络,所以综合安全和响应时间的考虑,IHS和应用服务器之间一般不再采用SSL。
下面两篇文章分别说明了如何在WAS6.0和WAS6.1中使用自签名的证书来开启IHS的SSL,如果是提供互联网服务的话,最好还是购买一下商业CA中心出具的证书,否则跳出个窗口提示证书不安全可就有趣了。
WAS6.0 http://docs.google.com/fileview?id=F.576ac8bd-943c-4de9-a4b0-5f8abd2a477d&hl=zh_CN
WAS6.1 http://docs.google.com/fileview?id=F.4de8195d-6801-450f-8a2c-5ce9ec9990c4&hl=zh_CN
(有别人写的那么好的文档,我就不高兴再自己写鸟,应该可以转的吧)
WAS5.1 下启用SSL方法类似,只是加载的模块为“LoadModule ibm_ssl_module modules/IBMModuleSSL128.dll”
而对申请商业证书,首先要在“个人证书请求”中新建一个请求,填入相关的信息,保存到一个certreq.arm的文件,用文本工具打开后,可以看到
—–BEGIN NEW CERTIFICATE REQUEST—–
MIIBdjCB4AIBADA3MQswCQYDVQQGEwJDTjETMBEGA1UEChMKanFjbHViLm5ldDETMBEGA1UEAxMK
WFpILUhBU0hFSTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAvOZmF3LojJEaAordCmbK9xze
//caxC+0M399AxFUdTbA6HCC8SImRFgItmfBhXt3GsRekCtcbCOxPWmoIr3A9Y6mOMh0uOkQbVVv
EFlbmyxGNha7tBLrFz3l3juRtHiiyXZ2KPUDu8gWFL6tC2DBvoFVaq9ValeX7umAAKpyQ9ECAwEA
AaAAMA0GCSqGSIb3DQEBBAUAA4GBADOtHdOX0UY2GVKw3trjjrlNO4D2wN05cE6SmBm2zJXOrzdz
WKs01TEsnYlEEWS7Z7vRnhgj23eynd646/Kzxb8biipAL0TUcYkEUMRN1+VSFNdmHRGRQIeolGIf
ZzpZk0I1BHQeccHCdFRItNovWMD4XsmBq3WufgRhyNpHmHPQ
—–END NEW CERTIFICATE REQUEST—–
上传这个请求到CA发行商那里并通过后,会得到一个证书,在“个人证书”里接受即可。
当你的网站有许多个应用,而不希望每个应用都启用SSL,同时希望启用SSL的应用禁止通过80端口访问的话,可以通过“虚拟主机”来实现这个目标。
默认的应用都发布在default_host下,你可以新建一个ssl_enable的虚拟主机,在ssl_enable下仅启用443端口,把应用映射到这台虚拟主机上,那么这个应用只能通过443端口来访问了,而别的应用照旧可以在80端口下访问。
[1] MIXI工程师介绍memcached
上周提到的“豆瓣网技术架构变迁”演讲中,豆瓣的技术总监洪强宁介绍了豆瓣使用memcached的经验。如今越来越多的Web2.0应用采用了这个高速的服务器缓存软件,即便是作为个人blog软件的MT(MovableType)也支持了memcached。如果你还对其不了解的话,可以看一下这篇翻译mixi(http://mixi.jp)两位工程师的文章。语言简洁、通俗易懂,非常适合memcached入门阅读。
http://docs.google.com/fileview?id=F.e49c4d77-af47-4490-ad8c-836bcb819573
[2] WebSphere Portal中启用SSL
安全是如今软件设计中非常重要的一环,Twitter、facebook等热门网站都有爆出安全漏洞使用户利益受到损失的例子。本文则通过“对WebSphere Portal启用SSL进行后台LDAP用户信息管理”来保证用户信息的安全。
在 WebSphere Portal 中启用 SSL 来进行用户管理 之后我会写如何在WebSphere Application Server中开启IHS的SSL
[3] 牛的是人还是环境
一篇文章加上数十个讨论,探讨“牛人”产生的原因,分析牛人是“择良木而栖,逢佳时而鸣”,还是“金子在哪里都会发光”。我们常听说“人总是被提拔到一个他不擅长的岗位”,那么换个环境情况会如何呢?
http://groups.google.com/group/pongba/browse_frm/thread/d39eb6df594ad4d7/
[4]如何克服诱惑
《奥德赛》中,主人翁奥德修斯为抵御海妖歌声的诱惑,预先把自己绑在桅杆上。那我们如何抵御现在那么多的诱惑,做一些一直计划去做,却没有贯彻下去做的事呢?
《棉花糖实验》告诉我们,“much of will is skill”(表面上看是意志力强,实际上则是得法)
http://groups.google.com/group/pongba/browse_frm/thread/0ab29422a5abdb3b#
内存泄漏是比较常见的一种应用程序性能问题,一旦发生,则系统的可用内存和性能持续下降;最终将导致内存不足(OutOfMemory),系统彻底宕掉,不能响应任何请求,其危害相当严重。同时,Java堆(Heap)中大量的对象以及对象间之复杂关系,导致内存泄漏问题的探测和分析均比较困难,采用相应的辅助工具是很必要的。
我使用的比较多的是Memory Dump Diagnostic for Java (MDD4J)和IBM HeapAnalyzer,这两个工具都能支持几乎所有JDK版本所生成的堆转储文件,使用前可以在两者的帮助文件中查看一下支持列表。
先说一下IBM HeapAnalyzer,下载之后首先阅读一下readme,这上面详细写了HeapAnalyzer的使用方法。对于我用的2.6版本(最新为3.8),可以在命令行中输入<Java path>java –Xmx[heapsize] –jar ha26.jar <heapdump file>来启动工具并加载heapdump文件。对于比较大的heapdump,将-Xmx设置一个较大的值(大于heapdump的大小),来避免加载过程中的OOM。对于64位机器上产生的超大heapdump,个人机器上分析就不大可能了。
打开heapdump文件后,我一般点击“Analysis”里的“Tree View”,以树的形式从根节点展示内存对象分配的信息

第一行java.lang.ref.Refenrence这个class及它的76个children占用了67%的已用堆大小(31M/46M),它本身仅占用了76bits。双击java.lang.ref.Refenrence,我们可以看到它所引用的两个子节点。其中一个子节点java.lang.ref.Finalizer后的67%指引我们内存泄漏的问题应该在它的引用上。

阅读全文…
上次介绍了IBM的两款分析gc log的工具(GCMV和PMAT),这次讲讲HP推出的HPjmeter。HPjmeter集成了以前的HPjtune功能,可以分析在HP机器上产生的垃圾回收日志文件。你可以到Hewlett-Packard Java website免费下载最新的4.0版本,当然会让你填一些信息。
接下来我将分析一个实际生产环境下的日志文件,这个生产系统在启用新的功能后应用访问速度变慢,每个操作都要耗时10s左右,通过对比前后不同的gc信息,希望能从JVM的层面来优化当前的性能。
HP小机(Pa-Risc和安腾平台)使用HP的JDK后,使用-Xloggc:filename或者-Xverbosegc:file=filename参数会生成形如
<GCH: vmrelease=”1.4.2 1.4.2.10-060112-16:07-PA_RISC2.0 PA2.0 (aCC_AP)
……
<GCH: mode=n >
<GCH: ncpu=8 >
<GCH: availswap=33554432 >
<GCH: usedswap=0 >
……
<GC: 2 4 9.625554 1 0 31 48539536 0 286392320 0 0 35782656 0 2409608 715849728 20971424 20971424 20971520 0.279391 0.279391 >
<GC: 2 4 10.879321 2 0 31 9797920 0 286392320 0 0 35782656 2409608 2742416 715849728 25165568 25165568 25165824 0.307422 0.307422 >
的日志,这种格式人肉分析就别想了,它可以在PMAT中以Xverbosegc/hpux文件格式打开,但是图象功能我这里没法使用,只好求助于HP自家的工具——HPjmeter了。
分析过程
用HPjmeter加载日志文件后,会自动打开HPjtune的窗口。首先会看到Heap Usage After GC标签页,这是四月份正常的情况(请先忽略systemgc,这点留待后面分析)
阅读全文…
技术是需要钻研的,但是IT的发展一日千里,闭门造车难免会固步自封;作为公司的初级员工,老板让干啥就干啥又容易成为井底之蛙。所以欢迎添加jaintkiller at gmail dot com为好友,通过Google Reader一起分享优秀文章。当然我也会把自己觉得好的内容以每周一期的形式写在博客上,“问泉哪得清如许,为有源头活水来”。(其实我是偷懒不想更新)
[1]《豆瓣网技术架构变迁》
豆瓣网从2005年到现在的架构发展历程,PPT很早推出了,这次演讲视频总算是千呼万唤始出来。关注架构、关注大型web站点技术内幕的同学可以看看。
地址:http://www.infoq.com/cn/presentations/hongqn-douban
豆瓣的架构—专访豆瓣网站的技术总监洪强宁
[2]虚拟化扑面而来
虚拟化真是越来越近了,以前还只是听到个概念,去年Vmware来公司介绍VMware Infrastructure时还在考虑“一般的企业用不起,用得起的企业看不上”的问题。但现在虚拟化后对服务器利用率的提高、对电力消耗的降低、物理服务器管理的简化等好处已经深入人心,虽然还面对着几大厂商各自为政的窘境和把所有鸡蛋都放一个篮子里的担忧,但是已经有客户主动提出要把现有的非关键应用转移到虚拟机上去了。上次Red Hat来公司介绍的也是他们的RHEL5.0 Advanced Server中的虚拟化技术,所以趁早熟悉一下虚拟机的安装、管理、故障转移是正道——对于系统管理员来说。
服务器市场成本压倒一切
虚拟化整合之势凸显
[3]Java性能分析和监控
现在的主业不能丢:
使用Perf4J进行性能分析和监控
使用Jprofile解决应用服务器内存泄露问题诊断一例
WebSphere 2009年发展方向
最及时的声音