You are on page 1of 8

Configuration Guide

Configuring IBM HTTP Server as a Reverse


Proxy Server for SAS 9.3 Web Applications
Deployed on IBM WebSphere
Application Server
ThisdocumentisrevisedforSAS9.3.Inpreviousversionsofthisdocument,SASWebapplications
thathadanadministrativepurposeandSASWebapplicationsthatprovidedservices,ratherthanan
enduserinterface,werenotproxiedthroughIBMHTTPServer.Inthisversionofthedocument,all
oftheSASWebapplicationsareproxiedthroughIBMHTTPServer.
ThisdocumentdescribeshowtoconfigureIBMHTTPServerasareverseproxyservertoanIBM
WebSphereApplicationServerNetworkDeploymentthatishostingSAS9.3EnterpriseBIWeb
applications.Inparticular,thisdocumenthighlightsstepsspecifictoSASthatarerequiredwhenyou
setupanHTTPserverforSASEnterpriseBIServerWebapplications.YoucansetupanHTTPserver
inmanyways,dependingonyourindividualoperatingenvironmentandbusinessneeds.However,
thisdocumentfocusesononepossibleconfigurationasanexample.
IBMHTTPServerisalsoconfiguredtoservethestaticcontentfromtheSASThemesWeb
application.ThisdocumentassumesastartingconfigurationofasingleWebSphereApplication
ServerthatwasconfiguredbytheSASDeploymentWizardwithanapplicationserverinstancethatis
namedSASServer1.
Thisdocumentdescribesconfiguringatopologythatisshowninthefollowingfigure.Thefigure
showstheprotocolandportnumberfortheconnectionsamongstthesoftwareapplications.

Overview
ThefollowinglistidentifiesthehighleveltasksthatyoumustperformtoconfigureIBMHTTP
Serverasareverseproxyserver:

InstallIBMHTTPServerandIBMWebServerPlugInforWebSphereApplicationServer.
EnsurethattheIBMHTTPServerandIBMWebSpherePlugInforWebSphereApplication
ServerareatthesamefixpackmaintenancelevelastheassociatedWebSphereApplication
Server(minimumfixpacklevelis13).
ConfiguretheWebserverdefinitioninWebSphereApplicationServer.Thisstepregistersthe
IBMHTTPServerwithWebSphereApplicationServer.IfIBMHTTPServerisdeployedona
1
04 MAY 2012

differentmachinethanWebSphereApplicationServer,thenthemachineisaddedasanode
tothecell.
ConfigureIBMHTTPServertoservetheHTMLandstaticcontentfromtheSASThemes
application.
GenerateandpropagatetheWebserverpluginconfigurationfilefromWebSphere
ApplicationServertotheIBMHTTPServer.ThisconfigurationfileidentifiestheSASWeb
applicationsthattheIBMHTTPServerwillproxy.
ReconfigureSASmetadatafortheSASWebapplicationswiththehostnameandportofthe
IBMHTTPServer.
Verifytheconfigurationbystartingthesoftwareproductsinthecorrectorderandloggingon
toaSASWebapplication.

Required Software
InadditiontoSAS9.3softwarethatincludestheSASEnterpriseBusinessIntelligenceWeb
applications,youmusthavetheseIBMsoftwareproducts:

IBMWebSphereApplicationServerv7.0(installedwithFixPack13(7.0.0.13)orlater)
IBMHTTPServerv7.0
IBMWebServerPluginforWebSphereApplicationServer(canbeinstalledaspartof
installingIBMHTTPServer)
FixPacksforIBMHTTPServerv7.0andtheWebServerPlugin(mustbethesamefixpack
levelthatwasappliedtotheWebSphereApplicationServer)

ThesesoftwareproductsareavailableonyourIBMWebSphereApplicationServerinstallationmedia
orasdownloadsfromIBM.MakesurethatIBMHTTPServerandtheWebServerPluginareatthe
samefixpacklevelasWebSphereApplicationServer.

Install IBM HTTP Server and WebServer Plug-in


ForinformationaboutinstallingIBMHTTPServerandtheWebSpherePluginforWebSphere
ApplicationServer,followtheinstallationinstructionsthatareprovidedattheWebSphere
ApplicationServerVersion7.0InfoCenter(availableat
pic.dhe.ibm.com/infocenter/wasinfo/v7r0/index.jsp?topic=/com.ibm.websphere
.ihs.doc/info/ihs/ihs/welc6miginstallihsdist.html).Whenthepluginisinstalled,
theinstallationwizardprovidesadefaultnameofwebserver1.Thisdocumentassumesthatyou
usedthisdefaultvalue.
Afterinstallingthesoftware,usetheupdateinstallertoinstallthelatestfixpacks.
ConfiguringtheWebserverpluginisdescribedlaterinthisdocument.But,youcanconfirmthatthe
pluginsoftwareisinstalledproperlybyviewingthehttpd.conffileforIBMHTTPServerand
locatingtheLoadModuleandWebSpherePluginConfigdirectives.Seethefollowingexample:
LoadModule was_ap20_module "c:\ibm\httpserver\plugins\bin\
mod_was_ap20_http.so"
WebSpherePluginConfig "c:\ibm\httpserver\plugins\config\webserver1\
plugin-cfg.xml"

2
04 MAY 2012

Ifthedirectivesarenotintheconfigurationfile,eitherreinstalltheWebserverpluginssothatthe
installationwizardcanrunagain,oraddthelinesmanuallytothehttpd.conffile.

Configure the Web Server Definition


TheWebServerPlugininstallationwizardcreatesascriptthatincludesalltheinformationthatis
neededtodefinetheIBMHTTPServerwithinWebSphereApplicationServer.Thescriptislocatedin
PLUGINS_ROOT/binandisnamedaccordingtotheWebservername(configurewebserver1.sh
forUNIXorconfigurewebserver1.batforWindows).Ifyoucannotlocatethescript,thenthe
installationwizarddidnotrunsuccessfully.EitherreinstalltheWebserverpluginssothatthe
installationwizardcanrunagain,ormanuallydefinetheWebserverintheWebSphere
administrationconsole.
ToruntheconfigurationscriptthatdefinestheWebserverwithinWebSphereApplicationServer,
followthesesteps:
1.

Copytheconfigurewebserver1.batscripttothebindirectoryforWebSphere
ApplicationServer:
Fromlocation:c:\IBM\HTTPServer\Plugins\bin\configurewebserver1.bat
Tolocation:c:\IBM\WebSphere\AppServer\bin

2.

Runtheconfigurewebserver1.batcommand.
Asthescriptruns,itperformsthefollowingconfigurationtasks:

Definesanode,ifIBMHTTPServerisinstalledonamachinethatdoesnothave
WebSphereApplicationServerinstalledonit,andaddsittothecell.
CreatesaWebserverdefinitionfortheIBMHTTPServer.
Generatesaplugincfg.xmlfilethatincludestheSASWebapplicationsthatare
deployedonWebSphereApplicationServerandstoresitintheWebSphere
ApplicationServerrepository.

3. IfIBMHTTPServerisinstalledadifferentmachinethanWebSphereApplicationServer,log
ontotheWebSphereadministrativeconsoleandsetthecredentialsfortheIBMHTTPServer
administrativeserver:
a.

SelectServersWebservers.

b.

Clickwebserver1.

c.

ClickRemoteWebserver management.

d. ProvideorconfirmthesettingsforPort(defaultvalueis8008),Username,and
Password.ClickOK.

Deploy SAS Web Application Themes and SAS Flex Application


Themes to an HTTP Server
SASWebApplicationThemes(SASThemes)enableyoutoapplyuniformvisualcustomizationtoyour
SASWebapplications.Similarly,SASFlexApplicationThemes(SASFlexThemes)providemorevisual
3
04 MAY 2012

customizationandinteractivityforFlexapplications.Thesethemesets,whicharecollectionsof
HTMLresourcessuchasimagesandcascadingstylesheets,resideonthesameWebapplication
server.SASrecommendsthatyoudeploySASThemesandSASFlexThemescontenttoanHTTP
serverinordertoshifttheprocessingloadofservingstaticHTMLfilesfromtheWebapplication
servertotheHTTPserver.
ThefollowingstepsexplainhowtodeploySASThemesandSASFlexThemestotheopensource
ApacheHTTPServer.TheprocessfordeployingthethemestootherHTTPserversissimilar.
TodeploytheSASThemes:
1.

NavigatetoAPACHE_HOME/htdocs/en_USandcreateanewdirectorynamed
SASTheme_default.

2.

NavigatetoSAS-configurationdirectory/Levn/Web/Staging/exploded/sas.themes9.3.ear.Fromthisdirectory,
copythecontentsofsas.themes9.3.warinto
APACHE_HOME/htdocs/en_US/SASTheme_default.

3.

Removethesas.themes9.3.eardirectoryfromtheWebSphereapplicationserver,as
follows:
a.

IntheWebSphereadministrativeconsole,selectApplicationsEnterprise
Applications.

b.

SelecttheSASThemes9.3 checkboxandclickUninstall.

c.

ClickOK ontheconfirmationpage.

TodeploytheSASFlexThemes:
1.

NavigatetoAPACHE_HOME/htdocs/en_USandcreateanewdirectorynamed
SASFlexThemes.

2.

NavigatetoSAS-configurationdirectory/Levn/Web/Staging/exploded/sas.flexthemes2.5.3.ear. Fromthis
directory,copythecontentsofsas.flexthemes2.5.3.warinto
APACHE_HOME/htdocs/en_US/SASFlexThemes.

3.

Removethesas.flexthemes2.5.3.eardirectoryfromtheWebSphereapplication
server,asfollows:
a.

IntheWebSphereadministrativeconsole,selectApplicationsEnterprise
Applications.

b.

SelecttheSASFlexThemes2.5.3 checkboxandclickUninstall.

c.

ClickOK ontheconfirmationpage.

Change the Connections for the SAS Web Applications


AfterSASThemesisdeployedtotheIBMHTTPserverandthepluginconfigurationfileisinplace,
informationaboutaccesstotheSASWebapplications,suchashostandportnumber,mustbe
updatedinSASmetadata.ChangetheconnectioninformationforeachSASWebapplicationtoaURL
thatincludesthehostnameandportnumberfortheIBMHTTPServer.
4
04 MAY 2012

Tochangetheconnectioninformation,followthesestepsinSASManagementConsole:
1.

SelectApplicationManagementConfigurationManager.

2.

RightclickontheSASWebapplicationyouwanttoreconfigure,andselectProperties.

3.

ClicktheConnectiontab,setHost NameandPortNumbertothehostnameandport
numberoftheIBMHTTPServer,andthenclickOK.

SAS Web Report Studio 4.3 Specific Update


Bydefault,SASWebReportStudio4.3usesaspecialredirectionfilter.Whenusedwithaproxy
server,thisfiltermustbedisabled.Todisablethefilter,performthefollowingstepswithSAS
ManagementConsole:
1. SelectApplicationManagementConfigurationManager.
2. RightclickWebReportStudio4.3,andselectProperties.
3. ClickAdvanced,andthenclickAdd.
4. EnterapropertynameofApp.RedirectionFilterDisabledandavalueoftrue.
5. RestartSASWebReportStudio4.3fromtheWebSphereadministrativeconsole.

SAS Content Server Related Changes


Configure IBM HTTP Server to Accept Content for All Requests
IBMHTTPServermustbeconfiguredtoacceptcontent,suchasattachmentsfromtheWebDAV
repositoryprovidedbySASContentServer,withHTTPrequests.Followthesestepsinthe
WebSphereadministrativeconsole:
1.

SelectServersWebserverswebserver1PluginpropertiesRequestand
Response.

2.

SelecttheAcceptcontentforallrequestscheckbox.

Change the Connection for SAS Content Server


PerformthesestepstochangetheconnectioninformationfortheSASContentServerapplication.
ThischangeissimilartothechangerequiredforeachoftheSASWebapplications.SASmetadata
mustbechangedtoidentifythehostnameandportoftheIBMHTTPServer.Toreconfigurethehost
nameandportoftheSASContentServerinSASmetadata,performthefollowingstepsinSAS
ManagementConsole:
1.

SelectServerManagerSASContentServer.

2.

RightclicktheConnection:SASContent Servericonintherightpanelandselect
Properties.

5
04 MAY 2012

3.

ClicktheOptionstabandsettheHostnameandPortnumberfieldstothehostnameand
portnumberoftheIBMHTTPServer.

4.

ClickOK.

Change the WebDAV Repository URL


TherearefiveapplicationsthatuseSASmetadatatoidentifytheconnectioninformationfortheSAS
ContentServer.Theseapplicationsareidentifiedinthefollowinglist:

RemoteServices
SASPackageViewer4.3LocalServices
SASPortal4.3LocalServices
SASStoredProcess9.3LocalServices
SASWebReportStudio4.3LocalServices

ToreconfiguretheWebDAVURLfortheapplications,performthefollowingstepsinSAS
ManagementConsole:
1. SelectEnvironmentManagementFoundationServicesManager.
2. SelecttheapplicationandthenselectCoreInformationService.
3. RightclickInformationServiceandselectProperties.
4. IntheInformationServicePropertiesdialogbox,clicktheServiceConfigurationtab
andthenclickConfiguration.
5. IntheInformationServiceConfigurationdialogbox,clicktheRepositoriestab.
6. SelectWebDAVandthenclickEdit.
7. ChangetheHostandPortvaluestothehostnameandportoftheIBMHTTPServer.
8. ClickOKtoclosetheInformationServiceConfigurationdialogbox.
9. ClickOKtoclosetheInformationServicePropertiesdialogbox.

Generate and Propagate the Web Server Plug-in Configuration


File
IBMHTTPServerreadsaconfigurationfilethatisnamedplugincfg.xml.Thisfileidentifiesthe
locationoftheSASWebapplicationsthataredeployedonWebSphereApplicationServer.Because
SASThemes9.3wasremovedandtheAcceptcontentforallrequestssettingischanged,thisfilemust
beregenerated.ThisconfigurationfilemustalsobepropagatedtotheIBMHTTPServer
configurationdirectory.FollowthesestepsintheWebSphereadministrativeconsole:
1.

SelectServersWebservers.

2.

Enablethecheckboxforwebserver1andthenclickGeneratePlug-in.

3.

Enablethecheckboxforwebserver1again,andclickPropagatePlug-in.

4.

RestartIBMHTTPServersothatitreadstheupdatedconfigurationfile.

6
04 MAY 2012

Verify the Configuration


Startthesoftwareapplicationsinthefollowingorder:
1.

SASRemoteServices

2.

IBMHTTPServer(ifitwasntrestartedafterpropagatingtheplugincfg.xmlfile)

3.

SASServer1

OnceSASServer1isrunning,logontoasampleWebapplicationtoconfirmtheconfigurationisvalid
byopeningaWebbrowsertohttp://httpserver.example.com:port/SASBIDashboard(oranySASWeb
applicationthatisdeployedonSASServer1).Youarechallengedforlogoncredentials.Provide
credentialsandthenclickLog On.

Troubleshooting
Followthesestepstoassistwithtroubleshooting:
1.

Openabrowsertohttpserver.example.com:portandconfirmthatIBMHTTPServer
isrunning.

2.

EnabledebuggingfortheWebSpherePlugIntoIBMHTTPServer.SelectServersWeb
serverswebserver1Pluginproperties.SelectDetailfromtheLog levelmenu.
Generateandpropagatetheplugin.
RestartIBMHTTPServer,makearequestforoneoftheSASWebApplications,andthen
viewthehttp_plugin.logfile.
a.

AnentrylikethefollowingexampleindicatesthattheIBMHTTPServerattempted
toservethecontent,ratherthansendingtherequesttoWebSphereApplication
Server.ThismeansthattherequestedURLisnotincludedintheplugincfg.xmlfile:
[Wed Mar 25 15:25:22 2009] 000044b0 eec96b90 - DETAIL:
ws_common: websphereShouldHandleRequest: No route found
IfyourunIBMHTTPServeronportsotherthan80(HTTP)and443(HTTPS),then
youneedtoaddyourpreferredportonthevirtualhost(thedefaultvirtualhostis
default_host).ViewtheWebSphereApplicationServerlogsforaSRVE0250I
log.IftheIBMHTTPServerportisnotlistedinthelog,thenuseWebSphere
administrativeconsoletoselectEnvironmentVirtualHostsdefault_host
HostAliasesandthenusetheNewbuttontoaddyourpreferredport.Regenerate
andpropagatetheWebserverplugin.RestartIBMHTTPServer.

b.

TheGETandlib_htresponseentriesshowtherequestedresourceandthe
response:
[Wed Mar 25 09:42:51 2009] 00007c2e f6ed9b90 - DETAIL:
GET /hello HTTP/1.1
. . .
lib_htresponse: htresponseRead: Reading the response:
e6906a04
[Wed Mar 25 09:42:51 2009] 00007c2e f6ed9b90 - DETAIL:
HTTP/1.1 404 Not Found

7
04 MAY 2012

Response404:AresponselikethepreviousexampleindicatesthatIBMHTTPServer
acceptedtherequestfromtheWebbrowser,foundtherequestedresourceinthe
plugincfg.xmlfile,andsenttherequesttoWebSphereApplicationServer.
WebSphereApplicationServerdoesnothaveanapplicationmappedtothe
requestedURL.
CheckthattherequestedURLmatchesaSASWebapplication.Youmightreceive
thiserrorifyouchangedyourtopology,redistributedtheSASWebapplicationsto
differentWebSphereApplicationServerprofiles,butdidnotgenerateandpropagate
theWebserverplugin.
Response403:Thisresponseindicatesthatyoudonothavecredentialstoaccessthe
SASWebapplications.OnepossiblescenarioisthatWebSphereApplicationServeris
usingthesameuserregistryastheSASWebapplicationandtheWebbrowseris
cachingcredentialsthatarerecognizedbyWebSphereApplicationServer,butare
notauthorizedfortheSASWebapplications.ChecktheWebSphereApplication
ServerlogsforaSECJ0129Elog.
Response302:Thisresponsetypicallyindicatesthatthemetadataconnection
informationisincorrect.Inthehttp_plugin.logfile,checktheLocationvaluethat
followsthe302 Foundmessage.ThehostnameorportfortheSASLogonManager
applicationisusuallyincorrectforthiserrorresponse.SeesectionChangethe
ConnectionsfortheSASWebApplicationsforinformationaboutsettingthe
connectioninformationinSASmetadata.

Recommended Reading
IBMCorporation.2011.IBMHTTPServer,Version7:UsersGuide.IBMCorporation.Availableat
ftp.software.ibm.com/software/webserver/appserv/library/v70/ihs_70.pdf.
IBMCorporation.2011.Nonrootinstallations.Availableat
pic.dhe.ibm.com/infocenter/wasinfo/v7r0/index.jsp?topic=/com.ibm.websphere
.installation.nd.doc/info/ae/ae/cins_nonroot.html.AccessedMay4,2012.
IBMCorporation.2011.WebSphereApplicationServerVersion7.0InformationCenter.Available
atpic.dhe.ibm.com/infocenter/wasinfo/v7r0/index.jsp.AccessedMay4,2012.

SAS and all other SAS Institute product or service names are registered trademarks or trademarks of SAS Institute Inc. in the USA and
other countries. Other brand and product names are registered trademarks or trademarks of their respective companies.
indicates USA registration. Copyright 2012 SAS Institute Inc., Cary, NC, USA. All rights reserved.

8
04 MAY 2012

You might also like