Running dotCMS Behind Reverse-proxy Web Server

Description

This document explains how to set up dotCMS to run behind a reverse proxy web server. There are a multitude of reason why you might want to do this: enhanced security, special URL handling, etc… A frontend web server provides far more flexible configuration options than Tomcat is capable of. In this example, we are running a web server (nginx) in front of the dotCMS process on each clustered dotCMS application server. We have a hardware load-balancer distribution connections and offloading SSL in front of both dotCMS servers.

The first step is to create two Tomcat Connectors to accept the proxied connections: one for unencrypted http connections, and another for encrypted https connections. These are configured in the $dotCMShome/conf/server.xml

 

The http connector is fairly straightforward:

<!-- Proxied non-secure connector -->


<Connector port="8080" URIEncoding="UTF-8"


address="127.0.0.1"


maxThreads="75" minSpareThreads="25" maxSpareThreads="50"


enableLookups="false" redirectPort="443" acceptCount="100"


debug="0" connectionTimeout="20000"


disableUploadTimeout="true" proxyPort="80"


/>

 

The port you choose to run the connector on does not have to be the same as the example shown (but must be different than other Connectors on the same interface). However, you must make sure that your frontend web server and your Tomcat Connector are configured consistently with regard to the port they use to communicate.

 

The important parameter to include is the “proxyPort”. This tells Tomcat the original port that the client’s request was sent to, and is used to build links and redirects.

 

If your web server or load-balancer is located on the same server as the dotCMS application, you may want to also use the “address” attribute to bind Tomcat only to the localhost address. This will reduce the application’s surface area, and enhance security.

 

The proxied https connector has a few more parameters needed to function correctly:

 

<!-- Proxied secure connector -->


<Connector port="8081" URIEncoding="UTF-8"


address="127.0.0.1"


maxThreads="75" minSpareThreads="25" maxSpareThreads="50"


enableLookups="false" redirectPort="443" acceptCount="100"


debug="0" connectionTimeout="20000"


disableUploadTimeout="true" secure="true"


proxyPort="443" scheme="https"


/>

 

Again, the “port” parameter can be changed, but must be different from the non-secure Connector and must be configured to match in your frontend web server.

 

In order for Tomcat to recognize that requests to this Connector are considered “secure” (and to enforce security constraints), you must set the “secure” parameter to “true”. With the secure Connector, you must set the “scheme” to “https”, as well as the “proxyPort” in order for link and redirect construction to work properly.

 

As in the non-secure Connector, you may also bind the Connector to only the localhost interface using the “address” parameter if your server configuration supports this.

 

After you have configured the two proxied Tomcat Connectors, you will probably want to disable the default http Connector so that you may bind your web server to port 80:

<!--


<Connector port="80" URIEncoding="UTF-8"


maxThreads="75" minSpareThreads="25" maxSpareThreads="50"


enableLookups="false" redirectPort="443" acceptCount="100"


debug="0" connectionTimeout="20000"


disableUploadTimeout="true" />


-->


 

 

After you have set up your Tomcat Connectors appropriately, you will need to stop and restart dotCMS for the changes to take effect. Be sure to review logs/dotcms.log to ensure that the Connectors start up correctly:

 

INFO http11.Http11Protocol: Initializing Coyote HTTP/1.1 on http-127.0.0.1-8080


INFO http11.Http11Protocol: Initializing Coyote HTTP/1.1 on http-127.0.0.1-8081


 

 

The second step to setting up a reverse-proxied dotCMS instance is to configure your frontend web server. One option for the frontend server is a lightweight web server like nginx (http://nginx.net/). Nginx has a very solid reputation for being high-performance, as well as very secure. It is used by many of the Internet’s highest-volume web sites.

 

A simple nginx configuration for a reverse proxy would like something like this (/etc/nginx/nginx.conf):

 

http {


include mime.types;


default_type application/octet-stream;


 


# HTTP server


server {


listen 80;


server_name www.myschool.edu;


 


location / {


proxy_pass http://localhost:8080;


proxy_set_header Host com.dotmarketing.beans.Host@5f969e1f[map={hostName=dotcms.com, modDate=2017-06-02 09:03:42.3, aliases=new.dotcms.com dotcms.com www.dotcms.com authoring.dotcms.com auth.dotcms.com, type=host, title=dotcms.com, inode=b3bd582a-c5a3-450b-9d1d-56d3ac4a2760, hostname=dotcms.com, __DOTNAME__=dotcms.com, childrenFoldersCount=35, disabledWYSIWYG=[], permissions=[1, 2, 4, 8, 16, 32], host=SYSTEM_HOST, lastReview=2017-06-02 09:03:42.178, stInode=855a2d72-f2f3-4169-8b04-ac5157c4380c, owner=dotcms.org.2765, identifier=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, runDashboard=true, languageId=1, childrenFolders=[{identifier=d6b907a0-6771-434b-bbad-2d9f3240e61e, filesMasks=, parent=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, modDate=2014-06-03 11:16:55.438922, hostId=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, type=folder, title=Accelerators, showOnMenu=false, inode=6514d128-741e-486c-a8cd-168e46870937, path=/accelerators/, defaultFileType=4b87053a-e40b-48ca-963e-fb0a40ebe614, permissions=[1, 2, 4, 8, 16, 32], sortOrder=0, name=accelerators, open=false, selected=false, iDate=2014-02-06 12:57:20.429}, {identifier=0b22cb6b-1879-412c-a6a9-49275cb0a9c4, filesMasks=, parent=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, modDate=2017-07-21 15:15:27.486, hostId=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, type=folder, title=application, showOnMenu=false, inode=ac5c682f-11e4-467d-9bf3-5810001269fe, path=/application/, defaultFileType=4b87053a-e40b-48ca-963e-fb0a40ebe614, permissions=[1, 2, 4, 8, 16, 32], sortOrder=0, name=application, open=false, selected=false, iDate=2013-06-13 09:49:42.552}, {identifier=a7b50821-e5e6-4435-b715-cda0a7a00d1b, filesMasks=, parent=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, modDate=2017-03-27 10:36:21.237, hostId=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, type=folder, title=Blog, showOnMenu=false, inode=42234684-ee39-47c0-8597-c530489825ea, path=/blog/, defaultFileType=4b87053a-e40b-48ca-963e-fb0a40ebe614, permissions=[1, 2, 4, 8, 16, 32], sortOrder=0, name=blog, open=false, selected=false, iDate=2013-06-17 15:10:44.708}, {identifier=16cf26cf-5748-4557-80c7-234f4c89de24, filesMasks=, parent=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, modDate=2017-02-02 15:15:05.92, hostId=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, type=folder, title=Clients, showOnMenu=false, inode=9010af2d-a763-4178-827f-8d3796fc8137, path=/clients/, defaultFileType=4b87053a-e40b-48ca-963e-fb0a40ebe614, permissions=[1, 2, 4, 8, 16, 32], sortOrder=0, name=clients, open=false, selected=false, iDate=2016-04-29 13:00:29.393}, {identifier=a46fb151-27b3-4607-bb2f-449893112e6d, filesMasks=, parent=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, modDate=2017-07-21 15:21:19.62, hostId=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, type=folder, title=platform, showOnMenu=true, inode=195c5493-96e4-4dd8-b109-293d41038609, path=/cms-platform/, defaultFileType=4b87053a-e40b-48ca-963e-fb0a40ebe614, permissions=[1, 2, 4, 8, 16, 32], sortOrder=1, name=cms-platform, open=false, selected=false, iDate=2016-04-22 09:08:21.229}, {identifier=8e710c85-6d9e-4d10-b961-63753bc4b893, filesMasks=, parent=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, modDate=2016-05-02 14:18:01.097, hostId=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, type=folder, title=CMS Resources, showOnMenu=false, inode=dcefaa4b-d3bf-4650-94aa-742b1b051030, path=/cms-resources/, defaultFileType=4b87053a-e40b-48ca-963e-fb0a40ebe614, permissions=[1, 2, 4, 8, 16, 32], sortOrder=0, name=cms-resources, open=false, selected=false, iDate=2015-05-21 18:22:36.56}, {identifier=78f172f7-fa5c-43a5-94eb-48c483cabb58, filesMasks=, parent=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, modDate=2017-02-16 08:25:49.779, hostId=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, type=folder, title=Codeshare, showOnMenu=false, inode=31ac8c2e-7ade-4d0c-87f1-21a5f5ba8b57, path=/codeshare/, defaultFileType=4b87053a-e40b-48ca-963e-fb0a40ebe614, permissions=[1, 2, 4, 8, 16, 32], sortOrder=0, name=codeshare, open=false, selected=false, iDate=2013-06-17 14:47:27.473}, {identifier=3fd9c867-66fd-4a42-a1a0-8eb2a2f42f82, filesMasks=, parent=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, modDate=2017-07-21 15:16:09.051, hostId=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, type=folder, title=Company, showOnMenu=true, inode=18c449a1-48b4-414c-8905-08a5ae22c987, path=/company/, defaultFileType=4b87053a-e40b-48ca-963e-fb0a40ebe614, permissions=[1, 2, 4, 8, 16, 32], sortOrder=4, name=company, open=false, selected=false, iDate=2013-06-13 14:03:41.989}, {identifier=2dc7a026-c34c-4150-ba01-5affccb5a323, filesMasks=, parent=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, modDate=2016-10-21 10:27:00.306, hostId=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, type=folder, title=conference, showOnMenu=false, inode=ede2514e-0e43-493e-9b44-dc16a6884759, path=/conference/, defaultFileType=4b87053a-e40b-48ca-963e-fb0a40ebe614, permissions=[1, 2, 4, 8, 16, 32], sortOrder=0, name=conference, open=false, selected=false, iDate=2013-08-16 09:54:59.963}, {identifier=7dd1f7ff-acd3-4f28-ad9c-b1f068b3d28c, filesMasks=, parent=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, modDate=2017-02-16 12:51:23.281, hostId=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, type=folder, title=Explore, showOnMenu=true, inode=0c1a72bf-2167-4124-88f2-4dba5bb77e83, path=/content-management-system/, defaultFileType=4b87053a-e40b-48ca-963e-fb0a40ebe614, permissions=[1, 2, 4, 8, 16, 32], sortOrder=0, name=content-management-system, open=false, selected=false, iDate=2015-04-28 15:15:17.451}, {identifier=6a88c676-17d0-40cc-93b7-bdfa5e1f6cbd, filesMasks=, parent=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, modDate=2017-06-07 06:05:22.848, hostId=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, type=folder, title=Courses & Training, showOnMenu=false, inode=ab8d862f-fb90-4c17-be1a-914394cc5b79, path=/courses/, defaultFileType=4b87053a-e40b-48ca-963e-fb0a40ebe614, permissions=[1, 2, 4, 8, 16, 32], sortOrder=0, name=courses, open=false, selected=false, iDate=2014-01-27 16:54:01.008}, {identifier=a5c5e355-d927-4144-b523-081369f368e4, filesMasks=, parent=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, modDate=2016-06-15 09:31:00.273, hostId=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, type=folder, title=Demonstration, showOnMenu=false, inode=b7e026d7-b135-478a-a5c1-30cb8440f48f, path=/demonstration/, defaultFileType=4b87053a-e40b-48ca-963e-fb0a40ebe614, permissions=[1, 2, 4, 8, 16, 32], sortOrder=0, name=demonstration, open=false, selected=false, iDate=2014-01-24 13:24:13.035}, {identifier=85f6eb33-22c8-400c-a5cb-d43cf3a1313d, filesMasks=, parent=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, modDate=2017-05-30 17:02:06.115, hostId=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, type=folder, title=Documentation, showOnMenu=false, inode=92e0d1bd-06b5-4abd-8ef3-33f4fa19725c, path=/documentation/, defaultFileType=4b87053a-e40b-48ca-963e-fb0a40ebe614, permissions=[1, 2, 4, 8, 16, 32], sortOrder=0, name=documentation, open=false, selected=false, iDate=2013-06-17 14:46:50.702}, {identifier=83a0b5b4-d557-4960-a9ec-c1915fa6291b, filesMasks=, parent=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, modDate=2016-05-10 12:39:00.212, hostId=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, type=folder, title=Download, showOnMenu=true, inode=7bf3034f-460f-4d77-b27e-f338c556efe0, path=/download/, defaultFileType=4b87053a-e40b-48ca-963e-fb0a40ebe614, permissions=[1, 2, 4, 8, 16, 32], sortOrder=3, name=download, open=false, selected=false, iDate=2013-06-17 15:05:51.687}, {identifier=4f26897f-1fc5-4890-ab67-65f1b7729a6f, filesMasks=, parent=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, modDate=2017-02-16 12:50:33.066, hostId=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, type=folder, title=Explore, showOnMenu=false, inode=fa8c1b75-97be-464e-8a7e-ab8da3c0a936, path=/explore/, defaultFileType=4b87053a-e40b-48ca-963e-fb0a40ebe614, permissions=[1, 2, 4, 8, 16, 32], sortOrder=0, name=explore, open=false, selected=false, iDate=2013-06-13 17:51:07.347}, {identifier=c48bb784-cb71-4fb5-985a-89cbe2bcb899, filesMasks=, parent=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, modDate=2014-06-11 16:28:19.0, hostId=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, type=folder, title=Features, showOnMenu=false, inode=35281ea1-7bcd-4417-b561-edf80bec197f, path=/features/, defaultFileType=4b87053a-e40b-48ca-963e-fb0a40ebe614, permissions=[1, 2, 4, 8, 16, 32], sortOrder=0, name=features, open=false, selected=false, iDate=2013-06-13 09:50:27.344}, {identifier=1aad94fe-95ab-432d-b5b9-d6fc40234046, filesMasks=, parent=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, modDate=2016-05-02 15:28:39.473, hostId=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, type=folder, title=Forum, showOnMenu=false, inode=d0b56150-27da-43de-832a-339adc5c6a87, path=/forum/, defaultFileType=4b87053a-e40b-48ca-963e-fb0a40ebe614, permissions=[1, 2, 4, 8, 16, 32], sortOrder=0, name=forum, open=false, selected=false, iDate=2013-06-17 14:47:10.962}, {identifier=d0dd7dea-3654-4132-bc7f-fe577433ce97, filesMasks=, parent=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, modDate=2016-05-02 16:35:00.595, hostId=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, type=folder, title=home, showOnMenu=false, inode=53d5efb0-c292-415d-852f-8b88dc22cfb9, path=/home/, defaultFileType=4b87053a-e40b-48ca-963e-fb0a40ebe614, permissions=[1, 2, 4, 8, 16, 32], sortOrder=0, name=home, open=false, selected=false, iDate=2013-06-13 13:49:55.308}, {identifier=0c4028d5-82f7-43d0-b65c-098db1d7baf2, filesMasks=, parent=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, modDate=2017-07-14 14:26:59.887, hostId=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, type=folder, title=images, showOnMenu=false, inode=75951a43-ac92-4c60-8b7c-c678734d4a8f, path=/images/, defaultFileType=4b87053a-e40b-48ca-963e-fb0a40ebe614, permissions=[1, 2, 4, 8, 16, 32], sortOrder=0, name=images, open=false, selected=false, iDate=2013-06-27 16:09:56.95}, {identifier=3e6c630c-43c1-4890-af3a-9f95115d0981, filesMasks=, parent=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, modDate=2016-05-03 08:25:00.642, hostId=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, type=folder, title=licensing, showOnMenu=false, inode=9af4a18b-61d7-46b9-acec-5b7c0ad3d14d, path=/licensing/, defaultFileType=4b87053a-e40b-48ca-963e-fb0a40ebe614, permissions=[1, 2, 4, 8, 16, 32], sortOrder=0, name=licensing, open=false, selected=false, iDate=2013-09-18 09:13:34.69}, {identifier=032b8be4-d775-49d1-944f-5889330915e6, filesMasks=, parent=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, modDate=2017-07-21 15:16:09.042, hostId=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, type=folder, title=marketing, showOnMenu=false, inode=ac633e65-f42e-4041-acb8-c7480110b70b, path=/marketing/, defaultFileType=4b87053a-e40b-48ca-963e-fb0a40ebe614, permissions=[1, 2, 4, 8, 16, 32], sortOrder=0, name=marketing, open=false, selected=false, iDate=2013-08-15 14:57:42.031}, {identifier=35561921-3220-4424-92a0-ded7e36bf275, filesMasks=null, parent=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, modDate=2016-09-23 10:26:00.393, hostId=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, type=folder, title=Partners, showOnMenu=true, inode=11722eba-2553-473e-9cde-5d9269b18603, path=/partners/, defaultFileType=4b87053a-e40b-48ca-963e-fb0a40ebe614, permissions=[1, 2, 4, 8, 16, 32], sortOrder=5, name=partners, open=false, selected=false, iDate=2016-04-28 12:00:32.3}, {identifier=b2ae4536-a60c-4f7c-bd57-699fbb607bd4, filesMasks=, parent=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, modDate=2017-06-20 10:59:42.053, hostId=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, type=folder, title=Plugins, showOnMenu=false, inode=ed9208b8-5828-4bb4-bc17-3bfb686c8a42, path=/plugins/, defaultFileType=4b87053a-e40b-48ca-963e-fb0a40ebe614, permissions=[1, 2, 4, 8, 16, 32], sortOrder=0, name=plugins, open=false, selected=false, iDate=2013-06-17 14:50:22.366}, {identifier=18c73923-3b71-49ed-b20c-e593677dd29c, filesMasks=, parent=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, modDate=2017-02-22 12:36:38.023, hostId=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, type=folder, title=Pricing, showOnMenu=true, inode=00d61b3f-f71a-481b-be38-c3b3a1d8d33d, path=/pricing/, defaultFileType=4b87053a-e40b-48ca-963e-fb0a40ebe614, permissions=[1, 2, 4, 8, 16, 32], sortOrder=6, name=pricing, open=false, selected=false, iDate=2014-06-25 10:33:40.99}, {identifier=6922eb4b-784d-4f99-8d19-12908533b44e, filesMasks=, parent=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, modDate=2017-02-16 12:49:39.074, hostId=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, type=folder, title=Products, showOnMenu=true, inode=946a7af3-9de6-4f5b-932e-e2f19c22bda1, path=/products/, defaultFileType=4b87053a-e40b-48ca-963e-fb0a40ebe614, permissions=[1, 2, 4, 8, 16, 32], sortOrder=1, name=products, open=false, selected=false, iDate=2014-06-11 16:29:16.111}, {identifier=6d3c6fc3-045c-45ec-9325-e19f08d9098c, filesMasks=, parent=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, modDate=2016-06-06 15:45:00.225, hostId=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, type=folder, title=reports, showOnMenu=false, inode=65aad24c-268c-46ad-aac4-dd3093d66fc3, path=/reports/, defaultFileType=4b87053a-e40b-48ca-963e-fb0a40ebe614, permissions=[1, 2, 4, 8, 16, 32], sortOrder=0, name=reports, open=false, selected=false, iDate=2013-10-03 07:46:58.525}, {identifier=891d053b-af9a-43c2-b23a-5d1a8d660fcf, filesMasks=, parent=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, modDate=2015-10-12 12:07:00.231, hostId=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, type=folder, title=Resources, showOnMenu=true, inode=e3f9b309-3f0e-4119-bb13-b211f40c8ad6, path=/resources/, defaultFileType=4b87053a-e40b-48ca-963e-fb0a40ebe614, permissions=[1, 2, 4, 8, 16, 32], sortOrder=2, name=resources, open=false, selected=false, iDate=2013-06-13 09:51:46.085}, {identifier=05d741ed-b8ef-4cc8-af37-f3596f27faa9, filesMasks=, parent=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, modDate=2016-04-15 10:06:00.392, hostId=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, type=folder, title=security, showOnMenu=false, inode=2243ff83-95fb-4940-a727-517a9b2b23fe, path=/security/, defaultFileType=4b87053a-e40b-48ca-963e-fb0a40ebe614, permissions=[1, 2, 4, 8, 16, 32], sortOrder=0, name=security, open=false, selected=false, iDate=2013-09-18 11:07:52.523}, {identifier=6002ad58-3d20-41b1-b1ae-dc5ef5a353f7, filesMasks=, parent=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, modDate=2017-05-26 12:50:46.905, hostId=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, type=folder, title=Services, showOnMenu=false, inode=915ddcfe-f2af-4c21-9588-0c71c6de8d5a, path=/services/, defaultFileType=4b87053a-e40b-48ca-963e-fb0a40ebe614, permissions=[1, 2, 4, 8, 16, 32], sortOrder=1, name=services, open=false, selected=false, iDate=2013-06-13 13:51:25.568}, {identifier=13ccc3bd-9d30-4239-9748-6501f6ccda2b, filesMasks=, parent=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, modDate=2017-06-20 10:18:01.157, hostId=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, type=folder, title=solutions, showOnMenu=false, inode=31c8b1ac-1217-4f1f-86ab-a59488eb3ad8, path=/solutions/, defaultFileType=4b87053a-e40b-48ca-963e-fb0a40ebe614, permissions=[1, 2, 4, 8, 16, 32], sortOrder=2, name=solutions, open=false, selected=false, iDate=2016-03-11 10:34:14.369}, {identifier=791ea8a2-6dea-40b1-8427-31c5c724f0a4, filesMasks=null, parent=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, modDate=2017-02-21 13:33:24.4, hostId=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, type=folder, title=submitted_content, showOnMenu=false, inode=fb7bafff-d787-4aab-a398-53d94ddcbff3, path=/submitted_content/, defaultFileType=4b87053a-e40b-48ca-963e-fb0a40ebe614, permissions=[1, 2, 4, 8, 16, 32], sortOrder=0, name=submitted_content, open=false, selected=false, iDate=2013-11-01 11:55:36.407}, {identifier=84ed7a8d-ad33-42a2-b569-24bd448e4359, filesMasks=, parent=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, modDate=2017-07-21 11:58:52.255, hostId=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, type=folder, title=test, showOnMenu=false, inode=64bac656-46c5-46fe-b422-bcfeeb11b4f3, path=/test/, defaultFileType=4b87053a-e40b-48ca-963e-fb0a40ebe614, permissions=[1, 2, 4, 8, 16, 32], sortOrder=0, name=test, open=false, selected=false, iDate=2017-01-31 21:57:14.445}, {identifier=ec5dd2c4-376f-4168-a56f-d7bea1df853f, filesMasks=, parent=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, modDate=2015-04-29 16:27:28.944, hostId=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, type=folder, title=Test New Theme, showOnMenu=false, inode=4c1d4aba-4d25-4d59-97b9-33d2d14c920d, path=/test-min/, defaultFileType=4b87053a-e40b-48ca-963e-fb0a40ebe614, permissions=[1, 2, 4, 8, 16, 32], sortOrder=0, name=test-min, open=false, selected=false, iDate=2015-04-29 16:27:28.937}, {identifier=a577c7ec-817e-4941-8cfa-02930464236a, filesMasks=, parent=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, modDate=2017-02-08 13:11:22.144, hostId=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, type=folder, title=Themes, showOnMenu=false, inode=9f7d59e5-b437-4b62-b538-eb7976d05fdb, path=/themes/, defaultFileType=4b87053a-e40b-48ca-963e-fb0a40ebe614, permissions=[1, 2, 4, 8, 16, 32], sortOrder=0, name=themes, open=false, selected=false, iDate=2013-06-17 14:50:33.031}, {identifier=abf14024-cd0b-40d3-9e85-43fdebcf0bca, filesMasks=, parent=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, modDate=2016-05-02 14:54:00.444, hostId=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, type=folder, title=videos, showOnMenu=false, inode=c5c88727-f334-4390-93f8-6672fdeff80b, path=/videos/, defaultFileType=4b87053a-e40b-48ca-963e-fb0a40ebe614, permissions=[1, 2, 4, 8, 16, 32], sortOrder=0, name=videos, open=false, selected=false, iDate=2015-04-30 19:06:25.052}], isDefault=true, folder=SYSTEM_FOLDER, tagStorage=SYSTEM_HOST, isSystemHost=false, sortOrder=0, modUser=dotcms.org.2765, open=true},lowIndexPriority=false];


proxy_set_header X-Real-IP $remote_addr;


proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;


}


}


 


# HTTPS server


# We are running this behind an ssl load-balancer, hence the non-ssl config


server {


listen 81;


server_name www.myschool.edu;


 


# If you are terminating SSL connections directly on the web server


# you might have configuration like this:


#listen 443;


#ssl on;


#ssl_certificate /etc/ssl/certs/www.myschool.edu/server.crt;


#ssl_certificate_key /etc/ssl/certs/www.myschool.edu/server.key;


 


location / {


proxy_pass http://localhost:8081;


proxy_set_header Host com.dotmarketing.beans.Host@5f969e1f[map={hostName=dotcms.com, modDate=2017-06-02 09:03:42.3, aliases=new.dotcms.com dotcms.com www.dotcms.com authoring.dotcms.com auth.dotcms.com, type=host, title=dotcms.com, inode=b3bd582a-c5a3-450b-9d1d-56d3ac4a2760, hostname=dotcms.com, __DOTNAME__=dotcms.com, childrenFoldersCount=35, disabledWYSIWYG=[], permissions=[1, 2, 4, 8, 16, 32], host=SYSTEM_HOST, lastReview=2017-06-02 09:03:42.178, stInode=855a2d72-f2f3-4169-8b04-ac5157c4380c, owner=dotcms.org.2765, identifier=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, runDashboard=true, languageId=1, childrenFolders=[{identifier=d6b907a0-6771-434b-bbad-2d9f3240e61e, filesMasks=, parent=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, modDate=2014-06-03 11:16:55.438922, hostId=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, type=folder, title=Accelerators, showOnMenu=false, inode=6514d128-741e-486c-a8cd-168e46870937, path=/accelerators/, defaultFileType=4b87053a-e40b-48ca-963e-fb0a40ebe614, permissions=[1, 2, 4, 8, 16, 32], sortOrder=0, name=accelerators, open=false, selected=false, iDate=2014-02-06 12:57:20.429}, {identifier=0b22cb6b-1879-412c-a6a9-49275cb0a9c4, filesMasks=, parent=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, modDate=2017-07-21 15:15:27.486, hostId=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, type=folder, title=application, showOnMenu=false, inode=ac5c682f-11e4-467d-9bf3-5810001269fe, path=/application/, defaultFileType=4b87053a-e40b-48ca-963e-fb0a40ebe614, permissions=[1, 2, 4, 8, 16, 32], sortOrder=0, name=application, open=false, selected=false, iDate=2013-06-13 09:49:42.552}, {identifier=a7b50821-e5e6-4435-b715-cda0a7a00d1b, filesMasks=, parent=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, modDate=2017-03-27 10:36:21.237, hostId=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, type=folder, title=Blog, showOnMenu=false, inode=42234684-ee39-47c0-8597-c530489825ea, path=/blog/, defaultFileType=4b87053a-e40b-48ca-963e-fb0a40ebe614, permissions=[1, 2, 4, 8, 16, 32], sortOrder=0, name=blog, open=false, selected=false, iDate=2013-06-17 15:10:44.708}, {identifier=16cf26cf-5748-4557-80c7-234f4c89de24, filesMasks=, parent=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, modDate=2017-02-02 15:15:05.92, hostId=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, type=folder, title=Clients, showOnMenu=false, inode=9010af2d-a763-4178-827f-8d3796fc8137, path=/clients/, defaultFileType=4b87053a-e40b-48ca-963e-fb0a40ebe614, permissions=[1, 2, 4, 8, 16, 32], sortOrder=0, name=clients, open=false, selected=false, iDate=2016-04-29 13:00:29.393}, {identifier=a46fb151-27b3-4607-bb2f-449893112e6d, filesMasks=, parent=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, modDate=2017-07-21 15:21:19.62, hostId=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, type=folder, title=platform, showOnMenu=true, inode=195c5493-96e4-4dd8-b109-293d41038609, path=/cms-platform/, defaultFileType=4b87053a-e40b-48ca-963e-fb0a40ebe614, permissions=[1, 2, 4, 8, 16, 32], sortOrder=1, name=cms-platform, open=false, selected=false, iDate=2016-04-22 09:08:21.229}, {identifier=8e710c85-6d9e-4d10-b961-63753bc4b893, filesMasks=, parent=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, modDate=2016-05-02 14:18:01.097, hostId=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, type=folder, title=CMS Resources, showOnMenu=false, inode=dcefaa4b-d3bf-4650-94aa-742b1b051030, path=/cms-resources/, defaultFileType=4b87053a-e40b-48ca-963e-fb0a40ebe614, permissions=[1, 2, 4, 8, 16, 32], sortOrder=0, name=cms-resources, open=false, selected=false, iDate=2015-05-21 18:22:36.56}, {identifier=78f172f7-fa5c-43a5-94eb-48c483cabb58, filesMasks=, parent=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, modDate=2017-02-16 08:25:49.779, hostId=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, type=folder, title=Codeshare, showOnMenu=false, inode=31ac8c2e-7ade-4d0c-87f1-21a5f5ba8b57, path=/codeshare/, defaultFileType=4b87053a-e40b-48ca-963e-fb0a40ebe614, permissions=[1, 2, 4, 8, 16, 32], sortOrder=0, name=codeshare, open=false, selected=false, iDate=2013-06-17 14:47:27.473}, {identifier=3fd9c867-66fd-4a42-a1a0-8eb2a2f42f82, filesMasks=, parent=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, modDate=2017-07-21 15:16:09.051, hostId=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, type=folder, title=Company, showOnMenu=true, inode=18c449a1-48b4-414c-8905-08a5ae22c987, path=/company/, defaultFileType=4b87053a-e40b-48ca-963e-fb0a40ebe614, permissions=[1, 2, 4, 8, 16, 32], sortOrder=4, name=company, open=false, selected=false, iDate=2013-06-13 14:03:41.989}, {identifier=2dc7a026-c34c-4150-ba01-5affccb5a323, filesMasks=, parent=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, modDate=2016-10-21 10:27:00.306, hostId=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, type=folder, title=conference, showOnMenu=false, inode=ede2514e-0e43-493e-9b44-dc16a6884759, path=/conference/, defaultFileType=4b87053a-e40b-48ca-963e-fb0a40ebe614, permissions=[1, 2, 4, 8, 16, 32], sortOrder=0, name=conference, open=false, selected=false, iDate=2013-08-16 09:54:59.963}, {identifier=7dd1f7ff-acd3-4f28-ad9c-b1f068b3d28c, filesMasks=, parent=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, modDate=2017-02-16 12:51:23.281, hostId=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, type=folder, title=Explore, showOnMenu=true, inode=0c1a72bf-2167-4124-88f2-4dba5bb77e83, path=/content-management-system/, defaultFileType=4b87053a-e40b-48ca-963e-fb0a40ebe614, permissions=[1, 2, 4, 8, 16, 32], sortOrder=0, name=content-management-system, open=false, selected=false, iDate=2015-04-28 15:15:17.451}, {identifier=6a88c676-17d0-40cc-93b7-bdfa5e1f6cbd, filesMasks=, parent=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, modDate=2017-06-07 06:05:22.848, hostId=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, type=folder, title=Courses & Training, showOnMenu=false, inode=ab8d862f-fb90-4c17-be1a-914394cc5b79, path=/courses/, defaultFileType=4b87053a-e40b-48ca-963e-fb0a40ebe614, permissions=[1, 2, 4, 8, 16, 32], sortOrder=0, name=courses, open=false, selected=false, iDate=2014-01-27 16:54:01.008}, {identifier=a5c5e355-d927-4144-b523-081369f368e4, filesMasks=, parent=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, modDate=2016-06-15 09:31:00.273, hostId=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, type=folder, title=Demonstration, showOnMenu=false, inode=b7e026d7-b135-478a-a5c1-30cb8440f48f, path=/demonstration/, defaultFileType=4b87053a-e40b-48ca-963e-fb0a40ebe614, permissions=[1, 2, 4, 8, 16, 32], sortOrder=0, name=demonstration, open=false, selected=false, iDate=2014-01-24 13:24:13.035}, {identifier=85f6eb33-22c8-400c-a5cb-d43cf3a1313d, filesMasks=, parent=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, modDate=2017-05-30 17:02:06.115, hostId=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, type=folder, title=Documentation, showOnMenu=false, inode=92e0d1bd-06b5-4abd-8ef3-33f4fa19725c, path=/documentation/, defaultFileType=4b87053a-e40b-48ca-963e-fb0a40ebe614, permissions=[1, 2, 4, 8, 16, 32], sortOrder=0, name=documentation, open=false, selected=false, iDate=2013-06-17 14:46:50.702}, {identifier=83a0b5b4-d557-4960-a9ec-c1915fa6291b, filesMasks=, parent=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, modDate=2016-05-10 12:39:00.212, hostId=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, type=folder, title=Download, showOnMenu=true, inode=7bf3034f-460f-4d77-b27e-f338c556efe0, path=/download/, defaultFileType=4b87053a-e40b-48ca-963e-fb0a40ebe614, permissions=[1, 2, 4, 8, 16, 32], sortOrder=3, name=download, open=false, selected=false, iDate=2013-06-17 15:05:51.687}, {identifier=4f26897f-1fc5-4890-ab67-65f1b7729a6f, filesMasks=, parent=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, modDate=2017-02-16 12:50:33.066, hostId=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, type=folder, title=Explore, showOnMenu=false, inode=fa8c1b75-97be-464e-8a7e-ab8da3c0a936, path=/explore/, defaultFileType=4b87053a-e40b-48ca-963e-fb0a40ebe614, permissions=[1, 2, 4, 8, 16, 32], sortOrder=0, name=explore, open=false, selected=false, iDate=2013-06-13 17:51:07.347}, {identifier=c48bb784-cb71-4fb5-985a-89cbe2bcb899, filesMasks=, parent=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, modDate=2014-06-11 16:28:19.0, hostId=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, type=folder, title=Features, showOnMenu=false, inode=35281ea1-7bcd-4417-b561-edf80bec197f, path=/features/, defaultFileType=4b87053a-e40b-48ca-963e-fb0a40ebe614, permissions=[1, 2, 4, 8, 16, 32], sortOrder=0, name=features, open=false, selected=false, iDate=2013-06-13 09:50:27.344}, {identifier=1aad94fe-95ab-432d-b5b9-d6fc40234046, filesMasks=, parent=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, modDate=2016-05-02 15:28:39.473, hostId=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, type=folder, title=Forum, showOnMenu=false, inode=d0b56150-27da-43de-832a-339adc5c6a87, path=/forum/, defaultFileType=4b87053a-e40b-48ca-963e-fb0a40ebe614, permissions=[1, 2, 4, 8, 16, 32], sortOrder=0, name=forum, open=false, selected=false, iDate=2013-06-17 14:47:10.962}, {identifier=d0dd7dea-3654-4132-bc7f-fe577433ce97, filesMasks=, parent=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, modDate=2016-05-02 16:35:00.595, hostId=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, type=folder, title=home, showOnMenu=false, inode=53d5efb0-c292-415d-852f-8b88dc22cfb9, path=/home/, defaultFileType=4b87053a-e40b-48ca-963e-fb0a40ebe614, permissions=[1, 2, 4, 8, 16, 32], sortOrder=0, name=home, open=false, selected=false, iDate=2013-06-13 13:49:55.308}, {identifier=0c4028d5-82f7-43d0-b65c-098db1d7baf2, filesMasks=, parent=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, modDate=2017-07-14 14:26:59.887, hostId=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, type=folder, title=images, showOnMenu=false, inode=75951a43-ac92-4c60-8b7c-c678734d4a8f, path=/images/, defaultFileType=4b87053a-e40b-48ca-963e-fb0a40ebe614, permissions=[1, 2, 4, 8, 16, 32], sortOrder=0, name=images, open=false, selected=false, iDate=2013-06-27 16:09:56.95}, {identifier=3e6c630c-43c1-4890-af3a-9f95115d0981, filesMasks=, parent=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, modDate=2016-05-03 08:25:00.642, hostId=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, type=folder, title=licensing, showOnMenu=false, inode=9af4a18b-61d7-46b9-acec-5b7c0ad3d14d, path=/licensing/, defaultFileType=4b87053a-e40b-48ca-963e-fb0a40ebe614, permissions=[1, 2, 4, 8, 16, 32], sortOrder=0, name=licensing, open=false, selected=false, iDate=2013-09-18 09:13:34.69}, {identifier=032b8be4-d775-49d1-944f-5889330915e6, filesMasks=, parent=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, modDate=2017-07-21 15:16:09.042, hostId=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, type=folder, title=marketing, showOnMenu=false, inode=ac633e65-f42e-4041-acb8-c7480110b70b, path=/marketing/, defaultFileType=4b87053a-e40b-48ca-963e-fb0a40ebe614, permissions=[1, 2, 4, 8, 16, 32], sortOrder=0, name=marketing, open=false, selected=false, iDate=2013-08-15 14:57:42.031}, {identifier=35561921-3220-4424-92a0-ded7e36bf275, filesMasks=null, parent=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, modDate=2016-09-23 10:26:00.393, hostId=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, type=folder, title=Partners, showOnMenu=true, inode=11722eba-2553-473e-9cde-5d9269b18603, path=/partners/, defaultFileType=4b87053a-e40b-48ca-963e-fb0a40ebe614, permissions=[1, 2, 4, 8, 16, 32], sortOrder=5, name=partners, open=false, selected=false, iDate=2016-04-28 12:00:32.3}, {identifier=b2ae4536-a60c-4f7c-bd57-699fbb607bd4, filesMasks=, parent=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, modDate=2017-06-20 10:59:42.053, hostId=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, type=folder, title=Plugins, showOnMenu=false, inode=ed9208b8-5828-4bb4-bc17-3bfb686c8a42, path=/plugins/, defaultFileType=4b87053a-e40b-48ca-963e-fb0a40ebe614, permissions=[1, 2, 4, 8, 16, 32], sortOrder=0, name=plugins, open=false, selected=false, iDate=2013-06-17 14:50:22.366}, {identifier=18c73923-3b71-49ed-b20c-e593677dd29c, filesMasks=, parent=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, modDate=2017-02-22 12:36:38.023, hostId=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, type=folder, title=Pricing, showOnMenu=true, inode=00d61b3f-f71a-481b-be38-c3b3a1d8d33d, path=/pricing/, defaultFileType=4b87053a-e40b-48ca-963e-fb0a40ebe614, permissions=[1, 2, 4, 8, 16, 32], sortOrder=6, name=pricing, open=false, selected=false, iDate=2014-06-25 10:33:40.99}, {identifier=6922eb4b-784d-4f99-8d19-12908533b44e, filesMasks=, parent=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, modDate=2017-02-16 12:49:39.074, hostId=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, type=folder, title=Products, showOnMenu=true, inode=946a7af3-9de6-4f5b-932e-e2f19c22bda1, path=/products/, defaultFileType=4b87053a-e40b-48ca-963e-fb0a40ebe614, permissions=[1, 2, 4, 8, 16, 32], sortOrder=1, name=products, open=false, selected=false, iDate=2014-06-11 16:29:16.111}, {identifier=6d3c6fc3-045c-45ec-9325-e19f08d9098c, filesMasks=, parent=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, modDate=2016-06-06 15:45:00.225, hostId=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, type=folder, title=reports, showOnMenu=false, inode=65aad24c-268c-46ad-aac4-dd3093d66fc3, path=/reports/, defaultFileType=4b87053a-e40b-48ca-963e-fb0a40ebe614, permissions=[1, 2, 4, 8, 16, 32], sortOrder=0, name=reports, open=false, selected=false, iDate=2013-10-03 07:46:58.525}, {identifier=891d053b-af9a-43c2-b23a-5d1a8d660fcf, filesMasks=, parent=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, modDate=2015-10-12 12:07:00.231, hostId=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, type=folder, title=Resources, showOnMenu=true, inode=e3f9b309-3f0e-4119-bb13-b211f40c8ad6, path=/resources/, defaultFileType=4b87053a-e40b-48ca-963e-fb0a40ebe614, permissions=[1, 2, 4, 8, 16, 32], sortOrder=2, name=resources, open=false, selected=false, iDate=2013-06-13 09:51:46.085}, {identifier=05d741ed-b8ef-4cc8-af37-f3596f27faa9, filesMasks=, parent=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, modDate=2016-04-15 10:06:00.392, hostId=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, type=folder, title=security, showOnMenu=false, inode=2243ff83-95fb-4940-a727-517a9b2b23fe, path=/security/, defaultFileType=4b87053a-e40b-48ca-963e-fb0a40ebe614, permissions=[1, 2, 4, 8, 16, 32], sortOrder=0, name=security, open=false, selected=false, iDate=2013-09-18 11:07:52.523}, {identifier=6002ad58-3d20-41b1-b1ae-dc5ef5a353f7, filesMasks=, parent=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, modDate=2017-05-26 12:50:46.905, hostId=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, type=folder, title=Services, showOnMenu=false, inode=915ddcfe-f2af-4c21-9588-0c71c6de8d5a, path=/services/, defaultFileType=4b87053a-e40b-48ca-963e-fb0a40ebe614, permissions=[1, 2, 4, 8, 16, 32], sortOrder=1, name=services, open=false, selected=false, iDate=2013-06-13 13:51:25.568}, {identifier=13ccc3bd-9d30-4239-9748-6501f6ccda2b, filesMasks=, parent=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, modDate=2017-06-20 10:18:01.157, hostId=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, type=folder, title=solutions, showOnMenu=false, inode=31c8b1ac-1217-4f1f-86ab-a59488eb3ad8, path=/solutions/, defaultFileType=4b87053a-e40b-48ca-963e-fb0a40ebe614, permissions=[1, 2, 4, 8, 16, 32], sortOrder=2, name=solutions, open=false, selected=false, iDate=2016-03-11 10:34:14.369}, {identifier=791ea8a2-6dea-40b1-8427-31c5c724f0a4, filesMasks=null, parent=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, modDate=2017-02-21 13:33:24.4, hostId=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, type=folder, title=submitted_content, showOnMenu=false, inode=fb7bafff-d787-4aab-a398-53d94ddcbff3, path=/submitted_content/, defaultFileType=4b87053a-e40b-48ca-963e-fb0a40ebe614, permissions=[1, 2, 4, 8, 16, 32], sortOrder=0, name=submitted_content, open=false, selected=false, iDate=2013-11-01 11:55:36.407}, {identifier=84ed7a8d-ad33-42a2-b569-24bd448e4359, filesMasks=, parent=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, modDate=2017-07-21 11:58:52.255, hostId=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, type=folder, title=test, showOnMenu=false, inode=64bac656-46c5-46fe-b422-bcfeeb11b4f3, path=/test/, defaultFileType=4b87053a-e40b-48ca-963e-fb0a40ebe614, permissions=[1, 2, 4, 8, 16, 32], sortOrder=0, name=test, open=false, selected=false, iDate=2017-01-31 21:57:14.445}, {identifier=ec5dd2c4-376f-4168-a56f-d7bea1df853f, filesMasks=, parent=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, modDate=2015-04-29 16:27:28.944, hostId=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, type=folder, title=Test New Theme, showOnMenu=false, inode=4c1d4aba-4d25-4d59-97b9-33d2d14c920d, path=/test-min/, defaultFileType=4b87053a-e40b-48ca-963e-fb0a40ebe614, permissions=[1, 2, 4, 8, 16, 32], sortOrder=0, name=test-min, open=false, selected=false, iDate=2015-04-29 16:27:28.937}, {identifier=a577c7ec-817e-4941-8cfa-02930464236a, filesMasks=, parent=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, modDate=2017-02-08 13:11:22.144, hostId=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, type=folder, title=Themes, showOnMenu=false, inode=9f7d59e5-b437-4b62-b538-eb7976d05fdb, path=/themes/, defaultFileType=4b87053a-e40b-48ca-963e-fb0a40ebe614, permissions=[1, 2, 4, 8, 16, 32], sortOrder=0, name=themes, open=false, selected=false, iDate=2013-06-17 14:50:33.031}, {identifier=abf14024-cd0b-40d3-9e85-43fdebcf0bca, filesMasks=, parent=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, modDate=2016-05-02 14:54:00.444, hostId=bcd97fa4-a4b8-41d3-8a9f-a271ecdd88a9, type=folder, title=videos, showOnMenu=false, inode=c5c88727-f334-4390-93f8-6672fdeff80b, path=/videos/, defaultFileType=4b87053a-e40b-48ca-963e-fb0a40ebe614, permissions=[1, 2, 4, 8, 16, 32], sortOrder=0, name=videos, open=false, selected=false, iDate=2015-04-30 19:06:25.052}], isDefault=true, folder=SYSTEM_FOLDER, tagStorage=SYSTEM_HOST, isSystemHost=false, sortOrder=0, modUser=dotcms.org.2765, open=true},lowIndexPriority=false];


proxy_set_header X-Real-IP $remote_addr;


proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;


}


}


}

 

Of course, this could also be done using Apache web server and the mod_proxy module. The mod_proxy configuration directives might look similar to this (ssl example):

 

LoadModule proxy_http_module /usr/lib/apache2/modules/mod_proxy_http.so


LoadModule proxy_module /usr/lib/apache2/modules/mod_proxy.so


LoadModule proxy_connect_module /usr/lib/apache2/modules/mod_proxy_connect.so


 


SSLProxyEngine on


ProxyRequests Off


ProxyVia On


<Proxy *>


Order deny,allow


Allow from all


</Proxy>


 


ProxyPass / http://localhost:8081/


ProxyPassReverse / https://localhost:8081/

 

 

 

Code

see above