apache, resin, ssl对虚拟主机的支持

 

apache本身对虚拟主机支持较好。

resin对虚拟主机支持也较好。

ssl本身也支持基于虚拟主机的配置。

但如果将三者结合起来,困难或者问题要比想象中的多。

比如要实现 https://bizsft.com/a.jsp 寄宿在其他主机服务上,要做的改动分别是:

1. 在 apache的 vhost地方配置, conf/extra/httpd-vhosts.conf 里

<VirtualHost *:80>
ServerAdmin wadelau@ufqi.com
DocumentRoot “/www/bizsft”
ServerName bizsft.com
ServerAlias www.bizsft.com

</VirtualHost>

这样完成在Apache层面的vhost支持。

apache服务器需重启才能够生效,在restart之前最好使用

./apachectl configtest

来验证配置的正确性。

2. 在 resin的vhost里做相应的配置,以便于在bizsft.com下的jsp文件能够转交给resin做相应的处理,在resin的 conf/resin.xml 里,resin <cluster>标签下,配置

<host id=”bizsft.com” root-directory=”.”>
<web-app id=”/” root-directory=”/www/bizsft”/>

</host>

这样就完成了,bizsft.com/a.html 由apache解析,bizsft.com/a.jsp 又resin来负责解析。

resin.xml 被修改保存后,它的watchdog会侦测到文件尺寸的变动,进而触发resin本身重启以使得其生效。

3. 继续来配置基于bizsft.com的安全链接ssl,在 apache相应的ssl模块里,conf/extra/httpd-ssl.conf 里,在原来的基础上增配

NameVirtualHost *:443    # 这句如果已经有了不需再写

<VirtualHost _default_:443>

DocumentRoot “/www/bizsft”
ServerName bizsft.com:443
ServerAdmin wadelau@ufqi.com

SSLEngine on

SSLProtocol all -SSLv2

SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5

SSLCertificateFile “/www/conf/server-bizsft.crt”
SSLCertificateKeyFile “/www/conf/server-bizsft.key”

</VirtualHost>

同样需要重启apache才能够使得改动生效。这样就完成了对

https://bizsft.com/a.jsp

访问的支持,如果配上正确的ssl 证书,则在地址栏内会有绿色锁标记。

也可以自行生成一个ssl证书用于测试,主要步骤如下:

创建私钥,shell> openssl genrsa -out server.key 1024

生成公钥,shell> openssl req -new -key server.key -out server.csr

生成证书,shell> openssl x509 -days 3650 -req -in server.csr -signkey server.key -out server.crt

然后按上述配置到 conf/extra/httpd-ssl.conf 文件中去,详细参考:

http://www.bootf.com/563.html

http://blog.51yip.com/apachenginx/958.html

 

4. 综上,在虚拟主机中支持 .jsp 不常见,也即通常说的java虚拟主机不多,在虚拟主机中配置对ssl的支持的做法更是少有,但通过上述配置,可以完成这些任务。

所需要的是在三个地方都需要做相应的配置。

 

This entry was posted in 服务器运维, 计算机技术. Bookmark the permalink.

One Response to apache, resin, ssl对虚拟主机的支持

发表评论

电子邮件地址不会被公开。 必填项已用*标注