Highlighted

CF 11 Enterprise Install on App Server and IIS 8.5 on Web Server (different Hardware)

Explorer ,
Dec 17, 2014

Copy link to clipboard

Copied

Hello all.

Facing an set up configuration issue here.  We have Application Server inside firewall and we are going to have Web Server out on the DMZ and that web server needs to communicate requests to the CF server.

I installed cfusion instance HTTP Port 8500 Remote Port 8010 host is local host, with no cluster.  We will have other instances following one addition port for HTTP and Remote down the line.

So now the issue is how to I run the connector.  If I run the shipped {cfroot}/cfusion/runtime/bin/wsconfig.exe, it shows localhost as the App Server, good there, but the web server is to be IIS, but on another IP address NOT this server, so the OK button stays gray. 

One would think that you would need to run the connector on the Web Server, right?  Well, I don't have CF installed on it nor do I plan on installing it on my web server, so how do I get the connector working on the Web Server. 

I have read a post about taking a wsconfig.jar and pulling out DLL and such but that is with JRun and CF 8, not CF 11 and IIS 8.5.  Maybe that is the method I need to follow but seems to be new ground that has never been posted in the CF Community.  I like to think I am "special"  but really?  I am the first to have this set up configuration and no one has posted a BLOG on it.  Seems strange OR I am totally missing something.

Please let me know any suggestions on how to move forward. 

Running on Window Server 2012 R2 for CF Application Server and the Web Server.  CF 11 E update 3.

ColdFusion 11 Distributed Environment for Connector with ALL sites:

1. Install ColdFusion11 on other server.

2. Once you install CF11, then copy this jar file "wsconfig.jar" from this location C:\ColdFusion11\cfusion\runtime\lib to the IIS server.

3. Configure IIS in other server. You have to make sure enable the following features at IIS the level.

   

                ISAPI Extensions

    ISAPI Filters

    CGI

    ASP .NET

5.            ColdFusion11 server connect to webserver through Connector Port, which is in server.xml. You can find this file in the C:\ColdFusion11\cfusion\runtime\conf, once you open the server.xml this is the port you will.

                Example:-  <Connector port="8014" protocol="AJP/1.3" redirectPort="8447" tomcatAuthentication="false" />

6. Now once you check everything in ColdFusion server, then come back to IIS webserver machine.

7. The wsconfig.jar file which you copied in this sever, rename the extension from .jar to .zip an extract it.

8. Create a same folder structure here C:\ColdFusion11\config\wsconfig\{Magic_Number} -- [Magic Number could be 1,2,3...n]

9. Now go to extracted folder wsconfig and check this isapi_redirect.dll, copy the DLL to this folder C:\ColdFusion11\config\wsconfig\{Magic_Number}. If you have 32bit then copy 32 bit if you have 64 bit DLL then copy 64 bit DLL.

Location for DLL in extracted folder

The IIS 64-bit DLL is in connector\isapi\intel-win64\prebuilt\amd64\isapi_redirect.dll

The IIS 32-bit DLL is in connector\isapi\intel-win\prebuilt\isapi_redirect.dll

10. Now in the same magic_number folder create a file "isapi_redirect.properties" and copy this content. Now the location and magic_number could be different.

extension_uri= /jakarta/isapi_redirect.dll

log_file= C:\ColdFusion11\config\wsconfig\1\isapi_redirect.log

log_level= info

worker_file= C:\ColdFusion11\config\wsconfig\1\workers.properties

worker_mount_file= C:\ColdFusion11\config\wsconfig\1\uriworkermap.properties

iis_buffer_enable= true

ip_restriction_file= C:\ColdFusion11\config\wsconfig\1\iprestriction.properties

auth_complete= 1

11. Create another file "uriworkermap.properties" and copy the below content

/cfformgateway/* = cfusion

/CFFormGateway/* = cfusion

/flex2gateway/* = cfusion

/flex2gateway = cfusion

/cffileservlet/* = cfusion

/CFFileServlet/* = cfusion

/cfform-internal/* = cfusion

/flashservices/gateway/* = cfusion

/flex-internal/* = cfusion

/rest/* = cfusion

/*.cfml/* = cfusion

/*.mxml = cfusion

/*.as = cfusion

/*.cfm = cfusion

/*.CFM = cfusion

/*.Cfm = cfusion

/*.cfm/* = cfusion

/*.swc = cfusion

/*.cfml = cfusion

/*.CFML = cfusion

/*.Cfml = cfusion

/*.cfc = cfusion

/*.CFC = cfusion

/*.Cfc = cfusion

/*.cfc/* = cfusion

/*.cfr = cfusion

/*.cfswf = cfusion

/*.sws = cfusion

/*.jsp = cfusion

/*.hbmxml = cfusion

12. Create another file "workers.properties" and copy this content

worker.list=cfusion

worker.cfusion.type=ajp13

worker.cfusion.host=localhost

worker.cfusion.port=8014

worker.cfusion.max_reuse_connections=250

13. Now go to one folder up which is C:\ColdFusion11\config\wsconfig and copy the "cfwin32.dll". Location

wsconfig\connectors\installers\intel-win\prebuilt\cfwin32.dll

wsconfig\connectors\installers\intel-win64\prebuilt\cfwin32.dll

14. Create a file "wsconfig.properties" and copy the below content. Bitness could be changes to 32 bit if you will use 32 bit environment, this file contains the IIS website and connector information. I have created this article as you will configure the connector with ALL the IIS websites, so the below setting will work.

1=IIS,0,true,"",bitness64

1.srv=localhost,cfusion

15. Now that we have created all the file and folder. We will add the IP address of ColdFusion11 machine so IIS can communicate with CF11. There are 2 places where we have to add the IP.

                a. "workers.properties" file, where is says "localhost" replace it with IP address and

                b. "wsconfig.properties" where is also says localhost replace it with IP address of ColdFusion11 machine.

               

16. Now we have to work on IIS manager, so launch IIS manager. We will make all the changes in IIS server level and when we restart IIS, it inherit all the handler mappings and ISAPI filter in all the sites.

17. Click on the Server and then click on Handler Mapping. Add Script Map and add these handlers .cfm, .cfc, .cfr, .cfml, and .cfswf and point it to this DLL. C:\ColdFusion11\config\wsconfig\1\isapi_redirect.dll.

Click on Request Restriction, check Invoke and select Files and Folder and Ok. In Right Panel, click on Edit Feature Permission Select Execute.

Example:  Request Path:- *.cfm

                                  Executable:-     C:\ColdFusion11\config\wsconfig\1\isapi_redirect.dll

                                  Name:- cfmHandler

               

NOTE: Add those handler which you will use don't add all of them.

18. Click on IIS server and select Default Document and add index.cfm as default document.

19. Click on IIS server and select ISAPI and CGI Restriction, select Add and "ISAPI and CGI path" 'C:\ColdFusion11\config\wsconfig\1\isapi_redirect.dll', Description "tomcat_All". Check the Allow extension path to execute and press Ok.

Click on Edit Feature Setting in right panel and check both the boxes.

20. Click on IIS server and select ISAPI Filters and Add Filter name "tomcat" and Executable "C:\ColdFusion11\config\wsconfig\1\isapi_redirect.dll"

21. Now you to add a Virtual Directory in each site else it won't work. To add Virtual directory Right click on your website Site and Add Virtual Directory. Alias name "jakarta" and Physical Path "C:\ColdFusion11\config\wsconfig\1\isapi_redirect.dll" Press Ok.

Follow this step with the same Alias and same path to all the websites.

22. Restart IIS service and run any ColdFusion page. It will work.

Views

1.6K

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more

CF 11 Enterprise Install on App Server and IIS 8.5 on Web Server (different Hardware)

Explorer ,
Dec 17, 2014

Copy link to clipboard

Copied

Hello all.

Facing an set up configuration issue here.  We have Application Server inside firewall and we are going to have Web Server out on the DMZ and that web server needs to communicate requests to the CF server.

I installed cfusion instance HTTP Port 8500 Remote Port 8010 host is local host, with no cluster.  We will have other instances following one addition port for HTTP and Remote down the line.

So now the issue is how to I run the connector.  If I run the shipped {cfroot}/cfusion/runtime/bin/wsconfig.exe, it shows localhost as the App Server, good there, but the web server is to be IIS, but on another IP address NOT this server, so the OK button stays gray. 

One would think that you would need to run the connector on the Web Server, right?  Well, I don't have CF installed on it nor do I plan on installing it on my web server, so how do I get the connector working on the Web Server. 

I have read a post about taking a wsconfig.jar and pulling out DLL and such but that is with JRun and CF 8, not CF 11 and IIS 8.5.  Maybe that is the method I need to follow but seems to be new ground that has never been posted in the CF Community.  I like to think I am "special"  but really?  I am the first to have this set up configuration and no one has posted a BLOG on it.  Seems strange OR I am totally missing something.

Please let me know any suggestions on how to move forward. 

Running on Window Server 2012 R2 for CF Application Server and the Web Server.  CF 11 E update 3.

ColdFusion 11 Distributed Environment for Connector with ALL sites:

1. Install ColdFusion11 on other server.

2. Once you install CF11, then copy this jar file "wsconfig.jar" from this location C:\ColdFusion11\cfusion\runtime\lib to the IIS server.

3. Configure IIS in other server. You have to make sure enable the following features at IIS the level.

   

                ISAPI Extensions

    ISAPI Filters

    CGI

    ASP .NET

5.            ColdFusion11 server connect to webserver through Connector Port, which is in server.xml. You can find this file in the C:\ColdFusion11\cfusion\runtime\conf, once you open the server.xml this is the port you will.

                Example:-  <Connector port="8014" protocol="AJP/1.3" redirectPort="8447" tomcatAuthentication="false" />

6. Now once you check everything in ColdFusion server, then come back to IIS webserver machine.

7. The wsconfig.jar file which you copied in this sever, rename the extension from .jar to .zip an extract it.

8. Create a same folder structure here C:\ColdFusion11\config\wsconfig\{Magic_Number} -- [Magic Number could be 1,2,3...n]

9. Now go to extracted folder wsconfig and check this isapi_redirect.dll, copy the DLL to this folder C:\ColdFusion11\config\wsconfig\{Magic_Number}. If you have 32bit then copy 32 bit if you have 64 bit DLL then copy 64 bit DLL.

Location for DLL in extracted folder

The IIS 64-bit DLL is in connector\isapi\intel-win64\prebuilt\amd64\isapi_redirect.dll

The IIS 32-bit DLL is in connector\isapi\intel-win\prebuilt\isapi_redirect.dll

10. Now in the same magic_number folder create a file "isapi_redirect.properties" and copy this content. Now the location and magic_number could be different.

extension_uri= /jakarta/isapi_redirect.dll

log_file= C:\ColdFusion11\config\wsconfig\1\isapi_redirect.log

log_level= info

worker_file= C:\ColdFusion11\config\wsconfig\1\workers.properties

worker_mount_file= C:\ColdFusion11\config\wsconfig\1\uriworkermap.properties

iis_buffer_enable= true

ip_restriction_file= C:\ColdFusion11\config\wsconfig\1\iprestriction.properties

auth_complete= 1

11. Create another file "uriworkermap.properties" and copy the below content

/cfformgateway/* = cfusion

/CFFormGateway/* = cfusion

/flex2gateway/* = cfusion

/flex2gateway = cfusion

/cffileservlet/* = cfusion

/CFFileServlet/* = cfusion

/cfform-internal/* = cfusion

/flashservices/gateway/* = cfusion

/flex-internal/* = cfusion

/rest/* = cfusion

/*.cfml/* = cfusion

/*.mxml = cfusion

/*.as = cfusion

/*.cfm = cfusion

/*.CFM = cfusion

/*.Cfm = cfusion

/*.cfm/* = cfusion

/*.swc = cfusion

/*.cfml = cfusion

/*.CFML = cfusion

/*.Cfml = cfusion

/*.cfc = cfusion

/*.CFC = cfusion

/*.Cfc = cfusion

/*.cfc/* = cfusion

/*.cfr = cfusion

/*.cfswf = cfusion

/*.sws = cfusion

/*.jsp = cfusion

/*.hbmxml = cfusion

12. Create another file "workers.properties" and copy this content

worker.list=cfusion

worker.cfusion.type=ajp13

worker.cfusion.host=localhost

worker.cfusion.port=8014

worker.cfusion.max_reuse_connections=250

13. Now go to one folder up which is C:\ColdFusion11\config\wsconfig and copy the "cfwin32.dll". Location

wsconfig\connectors\installers\intel-win\prebuilt\cfwin32.dll

wsconfig\connectors\installers\intel-win64\prebuilt\cfwin32.dll

14. Create a file "wsconfig.properties" and copy the below content. Bitness could be changes to 32 bit if you will use 32 bit environment, this file contains the IIS website and connector information. I have created this article as you will configure the connector with ALL the IIS websites, so the below setting will work.

1=IIS,0,true,"",bitness64

1.srv=localhost,cfusion

15. Now that we have created all the file and folder. We will add the IP address of ColdFusion11 machine so IIS can communicate with CF11. There are 2 places where we have to add the IP.

                a. "workers.properties" file, where is says "localhost" replace it with IP address and

                b. "wsconfig.properties" where is also says localhost replace it with IP address of ColdFusion11 machine.

               

16. Now we have to work on IIS manager, so launch IIS manager. We will make all the changes in IIS server level and when we restart IIS, it inherit all the handler mappings and ISAPI filter in all the sites.

17. Click on the Server and then click on Handler Mapping. Add Script Map and add these handlers .cfm, .cfc, .cfr, .cfml, and .cfswf and point it to this DLL. C:\ColdFusion11\config\wsconfig\1\isapi_redirect.dll.

Click on Request Restriction, check Invoke and select Files and Folder and Ok. In Right Panel, click on Edit Feature Permission Select Execute.

Example:  Request Path:- *.cfm

                                  Executable:-     C:\ColdFusion11\config\wsconfig\1\isapi_redirect.dll

                                  Name:- cfmHandler

               

NOTE: Add those handler which you will use don't add all of them.

18. Click on IIS server and select Default Document and add index.cfm as default document.

19. Click on IIS server and select ISAPI and CGI Restriction, select Add and "ISAPI and CGI path" 'C:\ColdFusion11\config\wsconfig\1\isapi_redirect.dll', Description "tomcat_All". Check the Allow extension path to execute and press Ok.

Click on Edit Feature Setting in right panel and check both the boxes.

20. Click on IIS server and select ISAPI Filters and Add Filter name "tomcat" and Executable "C:\ColdFusion11\config\wsconfig\1\isapi_redirect.dll"

21. Now you to add a Virtual Directory in each site else it won't work. To add Virtual directory Right click on your website Site and Add Virtual Directory. Alias name "jakarta" and Physical Path "C:\ColdFusion11\config\wsconfig\1\isapi_redirect.dll" Press Ok.

Follow this step with the same Alias and same path to all the websites.

22. Restart IIS service and run any ColdFusion page. It will work.

Views

1.6K

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Dec 17, 2014 0
Most Valuable Participant ,
Dec 17, 2014

Copy link to clipboard

Copied

I think that's referred to as "Distributed Mode".  Here's a great blog post on how to do it in CF10 or CF11: ColdFusion Muse: Running ColdFusion 10 in Distributed Mode

-Carl V.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Dec 17, 2014 0
Adobe Employee ,
Dec 17, 2014

Copy link to clipboard

Copied

ColdFusion 11 Distributed Environment for Connector with ALL sites:

1. Install ColdFusion11 on other server.

2. Once you install CF11, then copy this jar file "wsconfig.jar" from this location C:\ColdFusion11\cfusion\runtime\lib to the IIS server.

3. Configure IIS in other server. You have to make sure enable the following features at IIS the level.

   

                ISAPI Extensions

    ISAPI Filters

    CGI

    ASP .NET

5.            ColdFusion11 server connect to webserver through Connector Port, which is in server.xml. You can find this file in the C:\ColdFusion11\cfusion\runtime\conf, once you open the server.xml this is the port you will.

                Example:-  <Connector port="8014" protocol="AJP/1.3" redirectPort="8447" tomcatAuthentication="false" />

6. Now once you check everything in ColdFusion server, then come back to IIS webserver machine.

7. The wsconfig.jar file which you copied in this sever, rename the extension from .jar to .zip an extract it.

8. Create a same folder structure here C:\ColdFusion11\config\wsconfig\{Magic_Number} -- [Magic Number could be 1,2,3...n]

9. Now go to extracted folder wsconfig and check this isapi_redirect.dll, copy the DLL to this folder C:\ColdFusion11\config\wsconfig\{Magic_Number}. If you have 32bit then copy 32 bit if you have 64 bit DLL then copy 64 bit DLL.

Location for DLL in extracted folder

The IIS 64-bit DLL is in connector\isapi\intel-win64\prebuilt\amd64\isapi_redirect.dll

The IIS 32-bit DLL is in connector\isapi\intel-win\prebuilt\isapi_redirect.dll

10. Now in the same magic_number folder create a file "isapi_redirect.properties" and copy this content. Now the location and magic_number could be different.

extension_uri= /jakarta/isapi_redirect.dll

log_file= C:\ColdFusion11\config\wsconfig\1\isapi_redirect.log

log_level= info

worker_file= C:\ColdFusion11\config\wsconfig\1\workers.properties

worker_mount_file= C:\ColdFusion11\config\wsconfig\1\uriworkermap.properties

iis_buffer_enable= true

ip_restriction_file= C:\ColdFusion11\config\wsconfig\1\iprestriction.properties

auth_complete= 1

11. Create another file "uriworkermap.properties" and copy the below content

/cfformgateway/* = cfusion

/CFFormGateway/* = cfusion

/flex2gateway/* = cfusion

/flex2gateway = cfusion

/cffileservlet/* = cfusion

/CFFileServlet/* = cfusion

/cfform-internal/* = cfusion

/flashservices/gateway/* = cfusion

/flex-internal/* = cfusion

/rest/* = cfusion

/*.cfml/* = cfusion

/*.mxml = cfusion

/*.as = cfusion

/*.cfm = cfusion

/*.CFM = cfusion

/*.Cfm = cfusion

/*.cfm/* = cfusion

/*.swc = cfusion

/*.cfml = cfusion

/*.CFML = cfusion

/*.Cfml = cfusion

/*.cfc = cfusion

/*.CFC = cfusion

/*.Cfc = cfusion

/*.cfc/* = cfusion

/*.cfr = cfusion

/*.cfswf = cfusion

/*.sws = cfusion

/*.jsp = cfusion

/*.hbmxml = cfusion

12. Create another file "workers.properties" and copy this content

worker.list=cfusion

worker.cfusion.type=ajp13

worker.cfusion.host=localhost

worker.cfusion.port=8014

worker.cfusion.max_reuse_connections=250

13. Now go to one folder up which is C:\ColdFusion11\config\wsconfig and copy the "cfwin32.dll". Location

wsconfig\connectors\installers\intel-win\prebuilt\cfwin32.dll

wsconfig\connectors\installers\intel-win64\prebuilt\cfwin32.dll

14. Create a file "wsconfig.properties" and copy the below content. Bitness could be changes to 32 bit if you will use 32 bit environment, this file contains the IIS website and connector information. I have created this article as you will configure the connector with ALL the IIS websites, so the below setting will work.

1=IIS,0,true,"",bitness64

1.srv=localhost,cfusion

15. Now that we have created all the file and folder. We will add the IP address of ColdFusion11 machine so IIS can communicate with CF11. There are 2 places where we have to add the IP.

                a. "workers.properties" file, where is says "localhost" replace it with IP address and

                b. "wsconfig.properties" where is also says localhost replace it with IP address of ColdFusion11 machine.

               

16. Now we have to work on IIS manager, so launch IIS manager. We will make all the changes in IIS server level and when we restart IIS, it inherit all the handler mappings and ISAPI filter in all the sites.

17. Click on the Server and then click on Handler Mapping. Add Script Map and add these handlers .cfm, .cfc, .cfr, .cfml, and .cfswf and point it to this DLL. C:\ColdFusion11\config\wsconfig\1\isapi_redirect.dll.

Click on Request Restriction, check Invoke and select Files and Folder and Ok. In Right Panel, click on Edit Feature Permission Select Execute.

Example:  Request Path:- *.cfm

                                  Executable:-     C:\ColdFusion11\config\wsconfig\1\isapi_redirect.dll

                                  Name:- cfmHandler

               

NOTE: Add those handler which you will use don't add all of them.

18. Click on IIS server and select Default Document and add index.cfm as default document.

19. Click on IIS server and select ISAPI and CGI Restriction, select Add and "ISAPI and CGI path" 'C:\ColdFusion11\config\wsconfig\1\isapi_redirect.dll', Description "tomcat_All". Check the Allow extension path to execute and press Ok.

Click on Edit Feature Setting in right panel and check both the boxes.

20. Click on IIS server and select ISAPI Filters and Add Filter name "tomcat" and Executable "C:\ColdFusion11\config\wsconfig\1\isapi_redirect.dll"

21. Now you to add a Virtual Directory in each site else it won't work. To add Virtual directory Right click on your website Site and Add Virtual Directory. Alias name "jakarta" and Physical Path "C:\ColdFusion11\config\wsconfig\1\isapi_redirect.dll" Press Ok.

Follow this step with the same Alias and same path to all the websites.

22. Restart IIS service and run any ColdFusion page. It will work.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Dec 17, 2014 0
Explorer ,
Dec 18, 2014

Copy link to clipboard

Copied

@rahul_u Thank you for you detailed answer.  I had read something similar but was not sure that that information still held with CF11 since it was written for CF9.  So this was very helpful.

My follow up question to this, is:  I would like to run clusters that more than one site would run on.  EG A_Cluster would have lets just say two sites on, with the Connector Port being forward to the CF Server how would one go about setting up the configuration to go to the D:\website\wwwrootA and D:\website\wwwrootB on Cluster A?

I would think that the configuration on both the web server and the CF server would need to be modified slightly, but that is what I am attempting to ask here.  Any references that I can read up on or suggestions?

Again, thank you for the information.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Dec 18, 2014 0
Most Valuable Participant ,
Dec 19, 2014

Copy link to clipboard

Copied

That seems a bit more complicated than the blog post I referred to, but maybe it details out some of the items that the blog post glosses over.

-Carl V.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Dec 19, 2014 0
Explorer ,
Dec 19, 2014

Copy link to clipboard

Copied

Carl,

That is correct.  The BLOG you referenced is 10,000 foot of what rahul_u gave the step by step instructions for.

Still struggling with Multi-Homing the CF Server.  Any suggestions on that part of it Carl.

Matt

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Dec 19, 2014 0
Most Valuable Participant ,
Dec 19, 2014

Copy link to clipboard

Copied

Matthew,

I've never multi-homed CF, only IIS.  Might be able to be done through Tomcat, but not sure.

-Carl V.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Dec 19, 2014 0