首先,apache+tomcat下配置openssl在这里就不说了,网上有很多文章,讲的都比较全面,但大部分讲的都是整体的配置步骤,也就是说配置完成后相应的项目既可以用http访问也可以用https访问,小弟在网上搜了很多都没有找到讲到具体客户端哪个JSP页面用http,哪个页面用https的相应功能的文章,于是自己读了一下apache的联机文档,并结合现在银行的框架体系讲解一下具体的配置过程,献给大家。
先讲一下当今银行的项目结构体系,一般进入银行主页首先可以看到很多包括广告啊,文章啊,政策的之类的东西,当然这些都是些文本信息,所用的协议当然也是Http(应用层),但是如果进入类似也网上银行或设计到钱的敏感页面,用到的就是https协议,这就是涉及到另外一个web项目的问题(记住是另外一个项目,全部用https),换句话说,这个web项目是专门用来处理业务流程的,当然在apache中配置时就要屏蔽80端口只采用443端口。具体配置如下(Linux下):
vi httpd.conf 文件;
找到 listen 80,在前面加上#;
这样,只要涉及到钱的项目都变成https了(流行配置),现在的问题是,每次在真正交易时都要用到U盾,也就是要验证客户端证书,我们怎么样才能具体到哪个jsp来验证证书呢,配置如下:
vi httpd-ssl.conf
找到 SSLCACertificatePath 去掉#,填入"自己证书路径"。
SSLCACertificateFile 去掉#,填入"自己证书路径"。
关键是找到
SSLVerifyClient require
SSLVerifyDepth 10
把相应的#去掉;
然后在外面加入自己的路径就可以了,例如我要在add_account.jsp上来验证客户端证书
那么:
<Location /bank/bank/add_account.jsp>
SSLVerifyClient require
SSLVerifyDepth 10
</Location>
特别要强调的是:
上面的路径是在前面虚拟主机定义的:
DocumentRoot"";
好了 大功告成,希望大家批评改正,如有金融项目流程问题我们可以共同交流。