Changing hostname/IP for Weblogic 11g

Changing hostname/IP for Weblogic 11g


Recently I had to migrate two VMs hosting SOA/WebCenter 11g respectively from our US centers to India centers. This involved change in the hostname/IP of the two servers. Now the process is already documented @
http://download.oracle.com/docs/cd/E12839_01/core.1111/e10105/host.htm#CHDGEDCF .
But as is with all documents, not everything is documented!

The startManagedServer.sh script has the URL of the AdminServer hard-coded. So you have to change that too. Having done this, start the nodemanager.
When you start your nodemanager, you might encounter the below error (in the AdminServer logfile):

BEA-090504 - Certificate chain received from localhost - 127.0.0.1 failed hostname verification check. Certificate contained xyz.abc.com but check expected localhost
OR
BEA-090482 - BAD_CERTIFICATE alert was received from localhost.localdomain - 127.0.0.1. Check the peer to determine why it rejected the certificate chain (trusted CA configuration, hostname verification). SSL debug tracing may be required to determine the exact reason the certificate was rejected .

There are two ways to solve it.

1. Disable Flags - Jugaad way ;)
Put the following flags at the right places.
Node Manager: -Dweblogic.nodemanager.sslHostNameVerificationEnabled=false
Admin Server: -Dweblogic.security.SSL.ignoreHostnameVerification=true

2. Recreate the Certificates - The recommended way .
Node manager by default uses the WebLogic demo identity keystore. The keystore is generated at install time using the CertGen utility. The generated private key uses the common name (cn) resolved by Java.

2.1 Set the PATH
. $WL_HOME/server/bin/setWLSEnv.sh

2.2 Backup DemoIdentity.jks under $WL_HOME/server/lib


2.3 Generate the private key.

java utils.CertGen -cn hostname -keyfilepass DemoIdentityPassPhrase -certfile newcert -keyfile newkey

2.4 Import the key generated above to the keystore.

java utils.ImportPrivateKey -keystore DemoIdentity.jks -storepass DemoIdentityKeyStorePassPhrase -keyfile newkey.pem -keyfilepass DemoIdentityPassPhrase -certfile newcert.pem -alias demoidentity

2.5 Copy DemoIdentity.jks to $WL_HOME/server/lib


2.6 Restart your nodemanager.

That's it !

Hi Rb,
I cloned my old WL server to a new server using Mono.
After that i got the same certificate problem when starting the new WL, so i tried your 2nd option to re-generate CA. However I stucked at step 3 with this error:

Exception in thread "Main Thread" java.lang.NoClassDefFoundError: utils/CertGen
Could not find the main class: utils.CertGen. Program will exit.

Could you please advise me how to fix this problem. Thank you
Could not find the main class: utils.CertGen

ZeroUm said...

TuanNA,

if setWLSEnv.sh isn't setting the environment variables, export them with the script's output.

In Linux:

export CLASSPATH=...............
export PATH=....................

Sudheshpnair said...

You should add java utils.CertGen -cn other wise it will throw the below error.
Unknown option: DemoIdentityPassPhrase

Usage: java utils.CertGen
-certfile -keyfile
-keyfilepass
[-cacert ][-cakey ]
[-cakeypass ]
[-selfsigned][-strength ]
[-e ][-cn ]
[-ou ][-o ]
[-l ][-s ][-c ]
[-keyusage [digitalSignature,nonRepudiation,keyEncipherment
dataEncipherment,keyAgreement,keyCertSign,
cRLSign,encipherOnly,decipherOnly]]
[-keyusagecritical true|false]
[-subjectkeyid ]
[-subjectkeyidformat UTF-8|BASE64]
[-help]


你可能感兴趣的:(weblogic)