วิธีตั้งค่าให้ IBM HTTP Server ใช้งาน SSL ร่วมกับ WebSphere

หลังจากที่ได้ลองทำดูแล้ว ก็เข้าใจว่ามันต้องทำยังไงหลังจากคลุกกับมันมาเป็นเวลา 2 วัน โดยในกรณีนี้ IHS และ WAS ถูกติดตั้งอยู่บน Server ตัวเดียวกัน

Prerequisite Install:

1) IBM WebSphere 6.0.x (or whatever)

2) IBM HTTP Server

โดยในเคสของผมนั้นผม install ลงไปใน path ดังนี้

IHS = /data/IBMIHS/

WAS = /data/IBM/WebSphere/AppServer

มาเริ่มกันเลยดีกว่าครับ

1) ไปยัง path ของ IHS และเปิด ikeyman ขึ้นมาเพื่อสร้าง key database ประเภท CMS จะได้ไฟล์ออกมา 4 ไฟล์ อาทิ *.kdb, *.sth ฯลฯ

2) ไปที่ path ของ <IHS>/conf/ เปิดไฟล์ httpd.conf ขึ้นมาแก้ไข โดย เพิ่ม/แก้ไข ค่าให้เป็นประมาณนี้

<VirtualHost *:443>

.

.

.

SSLEnable
Keyfile “/data/IBMIHS/keys/TempServerKey.kdb”

SSLCipherSpec SSL_RSA_WITH_RC4_128_MD5

SSLCipherSpec SSL_RSA_WITH_RC4_128_SHA

SSLCipherSpec TLS_RSA_WITH_AES_128_CBC_SHA

SSLCipherSpec TLS_RSA_WITH_AES_256_CBC_SHA

SSLCipherSpec SSL_RSA_WITH_3DES_EDE_CBC_SHA

.

.

.

</VirtualHost>

สังเกตว่าผมจะ point path ไปยังไฟล์ kdb ที่ผมสร้างมาจากข้อที่ 1

3) ติดตั้ง Plugin IBM HTTP Server ให้กับ WebSphere โดยเลือก path ที่ต้องการติดตั้งตามใจชอบ แต่ของผมเลือกติดตั้งไว้ที่ /data/IBM/WebSphere/Plugins หลังจากติดตั้งเสร็จสิ้น ขั้นตอนท้านๆของติดตั้งตั้งมันจะบอก path ที่เก็บ plugin config (plugin-cfg.xml) ให้เราทราบ จำหรือจดเอาไว้ เพราะว่าเดี๋ยวเราต้องไป copy มันออกมา (ของผมอยู่ที่ /data/IBM/WebSphere/AppServer/profiles/default/config/cells/ESMAPPP01BNode01Cell/nodes/webserver1_node/servers/webserver1/ )

4) ไปยัง path ที่ได้จากข้อที่ 3 แล้ว copy ไฟล์ plugin-cfg.xml ออกมาครับ แล้วเอาไฟล์นี้ไปวางทับไว้ใน path ของ IHS (ตัวอย่างเช่น /data/IBMIHS/Plugins/config/webserver1/ … ปกติมันมีไฟล์นี้อยู่แล้วให้วางทับลงไปเลย)

5) หลังจากวางทับแล้วให้้เปิดมันขึ้นมาแก้ครับ ตามนี้ดูเฉพาะ Tag ดข้างล่างแล้วแก้ครับ

<ServerCluster CloneSeparatorChange=”false” GetDWLMTable=”false” LoadBalance=”Round Robin” Name=”server1_ESMAPPP01BNode01_Cluster” PostBufferSize=”64″ PostSizeLimit=”-1″ RemoveSpecialHeaders=”true” RetryInterval=”60″>
<Server ConnectTimeout=”0″ ExtendedHandshake=”false” MaxConnections=”-1″ Name=”ESMAPPP01B” ServerIOTimeout=”0″ WaitForContinue=”false”>
<Transport Hostname=”ESMAPPP01B” Port=”9080″ Protocol=”http”/>
<Transport Hostname=”ESMAPPP01B” Port=”9443″ Protocol=”https”>
<Property Name=”keyring” Value=”/data/IBMIHS/keys/TempServerKey.kdb“/>
<Property Name=”stashfile” Value=”/data/IBMIHS/keys/TempServerKey.sth“/>
</Transport>
</Server>
<PrimaryServers>
<Server Name=”ESMAPPP01B”/>
</PrimaryServers>
</ServerCluster>

* ตัวหนาคือ path ที่ได้ไฟล์มาจากการทำข้อ 1

6) ทำการ restart IHS โดยไปที่ <IHS>/bin/ ใช้คำสั่ง ./apachectl stop && ./apachectl start

7) ทดสอบเปิดเวบผ่าน Browser เพื่อดูผลลัพธ์

2 comments

  1. เยี่ยมครับ
    ลองเซท 2 way SSL แล้วเอามาเล่าให้ฟังกันบ้างนะครับ

    บน WAS 7.0 ก็ใช้วิธีการเหมือนกันนี่แหละ

  2. 2 way SSL ผมเคยเขียนไว้ที่ wordpress.com แล้วแหะ ที่นี่ครับ => http://pokpitch.wordpress.com/2008/10/15/install-ssl-on-ibmihs/

Leave a comment