TODO
These steps allow to “integrate” Rundeck with IIS. This could be necessary for example for these user cases:
If you are at least on 2008R2, you can install the ARR extension to proxy requests to the Jetty instance. To do so, we need first to modify the port rundeck is running and specify the “prefix” for all urls generated by rundeck. Also, to avoid that anyone bypass IIS, rundeck must listen only on 127.0.0.1.
Modify the %RDECK_BASE%\start_rundeck.bat
port (81) and host (127.0.0.1) as follows:
set CURDIR=%~dp0
call %CURDIR%etc\profile.bat
java %RDECK_CLI_OPTS% %RDECK_SSL_OPTS% "-Dserver.http.host=127.0.0.1" "-Dserver.http.port=81" -jar rundeckpro-launcher-XXXX-X.X.X.jar --installonly
But you can also put options in %RDECK_BASE%.bat (in this case the “prefix” and the little bit that makes rundeck work behind a reverse proxy) as long as you define all of them.
set RDECK_CLI_OPTS=-Xmx4096m -Xms1024m "-Drundeck.jetty.connector.forwarded=true" "-Dserver.web.context=/rundeck"
You will need to modify %RDECK_BASE%\server\config\rundeck-config.properties
, as grails.serverURL
is needed to be the absolute url:
grails.serverURL=http://yoursite/rundeck
Now, in IIS, (at the site level) create an URL Rewrite rule as follows:
Then, any request coming to http://yoursite/rundeck
will be proxying to your rundeck instance running on port 81 on the same server, and you’ll be sure that every request will come in only proxyied by IIS, since rundeck is only listening to 127.0.0.1.
If the rewrite module does not work, go to the Application Request Routing settings on the IIS home, and enable the proxy.