How to configure IIS with IBM WebSphere Applicatio

2019-05-28 08:36发布

问题:

I am trying to setup IIS (version 8.x, windows 2008) in front of IBM WAS(Liberty Profile) server so that it can route all specific requests to IBM WebSphere application server(Liberty Profile).

I have already installed & configured following items :

  • Installed IBM WebSphere Application Server Liberty Core (Version 8.5.5)
  • Installed IBM MobileFirst Platform Server (Verison 7.1)
  • Installed WebServer Plugins for IBM WAS
  • Installed IBM WebSphere Customization Toolbox (Version 8.5)

I have also deployed one MobileFirst Runtime and it's working totally fine. Now the only step remaining is configuration with IIS.

I am following below link, But could not understand it thoroughly :

https://www-01.ibm.com/support/knowledgecenter/SSAW57_8.5.5/com.ibm.websphere.nd.doc/ae/tins_manualWebIIS.html

As I have installed IBM WAS Liberty Core, It did note come up with any IBM JAVA SDK. Is It required? How can I install IBM Java SDK for IBM WAS Liberty?

I am really lost about what should be the first step.

Edit on 24/09/2015 :

  • I downloaded & installed IBM Java SDK for Liberty Core.
  • I generated plugin-cfg.xml
  • I configured IIS with plugin-cfg.xml using this link : https://www-01.ibm.com/support/knowledgecenter/SSAW57_8.5.5/com.ibm.websphere.nd.doc/ae/tins_manualWebIIS.html

Now all application requests are redirecting to IBM WAS. When I hit, localhost/HelloWorld/apps/services/www/HelloWorld/desktopbrowser/default/index.html, HelloWorld app is working totally fine.

Now the only problem is when I hit /worklightconsole, It is not able to get deployed application and adapters.

My plugin-cfg.xml looks like this :

<?xml version="1.0" encoding="UTF-8"?>
<Config ASDisableNagle="false" AcceptAllContent="false" AppServerPortPreference="HostHeader" ChunkedResponse="false" FIPSEnable="false" IISDisableNagle="false" IISPluginPriority="High" IgnoreDNSFailures="false" RefreshInterval="60" ResponseChunkSize="64" SSLConsolidate="false" TrustedProxyEnable="false" VHostMatchingCompat="false">
   <Log LogLevel="Error" Name=".\logs\defaultServer\http_plugin.log"/>
   <Property Name="ESIEnable" Value="true"/>
   <Property Name="ESIMaxCacheSize" Value="1024"/>
   <Property Name="ESIInvalidationMonitor" Value="false"/>
   <Property Name="ESIEnableToPassCookies" Value="false"/>
   <Property Name="PluginInstallRoot" Value="."/>
   <VirtualHostGroup Name="default_host">
      <VirtualHost Name="*:443"/>
      <VirtualHost Name="*:9443"/>
      <VirtualHost Name="*:80"/>
      <VirtualHost Name="*:9080"/>
   </VirtualHostGroup>
   <ServerCluster CloneSeparatorChange="false" GetDWLMTable="false" IgnoreAffinityRequests="true" LoadBalance="Round Robin" Name="defaultServer_default_node_Cluster" PostBufferSize="0" PostSizeLimit="-1" RemoveSpecialHeaders="true" RetryInterval="60">
      <Server CloneID="89f03a0d-7c05-4c33-a82c-12da20477cdd" ConnectTimeout="5" ExtendedHandshake="false" MaxConnections="-1" Name="default_node_defaultServer0" ServerIOTimeout="900" WaitForContinue="false">
         <Transport Hostname="localhost" Port="9080" Protocol="http"/>
         <Transport Hostname="localhost" Port="9443" Protocol="https">
            <Property Name="keyring" Value="keyring.kdb"/>
            <Property Name="stashfile" Value="keyring.sth"/>
            <Property Name="certLabel" Value="LibertyCert"/>
         </Transport>
      </Server>
      <PrimaryServers>
         <Server Name="default_node_defaultServer0"/>
      </PrimaryServers>
   </ServerCluster>
   <UriGroup Name="default_host_defaultServer_default_node_Cluster_URIs">
      <Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/RestProject/*"/>
      <Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/wladmin/*"/>
      <Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/HelloWorld/*"/>
      <Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/IBMJMXConnectorREST/*"/>
      <Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/worklightconsole/*"/>
   </UriGroup>
   <Route ServerCluster="defaultServer_default_node_Cluster" UriGroup="default_host_defaultServer_default_node_Cluster_URIs" VirtualHostGroup="default_host"/>
</Config>

I am getting following errors :

Failed request: /worklightconsole/services/management-apis/1.0/runtimes/HelloWorld/applications

Failed request: /worklightconsole/services/management-apis/1.0/runtimes/HelloWorld

Failed request: /worklightconsole/services/management-apis/1.0/runtimes/HelloWorld/adapters?offset=0&pageSize=15

Any help would be highly appreciated.

回答1:

Just to summarize all the links and steps:

  • On the machine that you have IIS you have to install WebSphere plugin and WebSphere Customization Toolbox - follow steps provided in Configuring a web server plug-in for the Liberty profile and in Installing and using the WebSphere Customization Toolbox
  • You should be able to configure IIS automatically via Toolbox, if you cant for some reason, here are manual stepsConfiguring Microsoft Internet Information Services (IIS)
  • On your Liberty Core machine, you probably already have Java configured if the MobileFirst runtime is working fine, if not you have to download WebSphere Java SDK also via Installation Manager for details see Installing and uninstalling SDK Java Technology Edition Version 7.0 or 7.1 for Liberty
  • If your applications are working directly, but not via IIS, you have to generate new plugin configuration file in Liberty via jconsole (follow the steps in the first link) and copy it to the path pointed in the IIS WebSphere plugin configuration.