Skip to main content
Participant
February 5, 2024
Answered

Publish Rest Service with Domain on IIS

  • February 5, 2024
  • 2 replies
  • 495 views

I have written, published and tested a web service in ColdFusion. I have a test server running on port 8500. I have a production server running on port 8028. I have the IIS connector installed as well.

 

My question is in regard to making my REST service available on the Internet. My ColdFusion Server is on AWS, everything works fine on localhost/127.0.0.1 with on port:8028 

 

So, as an example, my Rest service is running happily on: mymachine:8028/myrestservice/{argument_variable1}-{argument_variable2} 

 

Now, I want to expose it (I have the domain) on subdomain.mydomain.com.au/somepath_or_paths/{argument_variable1}-{argument_variable2} 

 

Can someone help me out by pointing me to a resource to do this? Do I need to set up something in AWS to reverse proxy requests to my server? Thank you.

    This topic has been closed for replies.
    Correct answer sdsinc_pmascari

    When you say your CF server is on AWS, I'm assuming you mean the AWS EC2 service?

    If that is the case, and if you plan to continue using port 8028, you need to open that port to your EC2 instance.  This posting talks about how to do this.  Just  substitute your port 8028 everywhere it mentions port 80

     

    Using this method, all those who want to use the webservice must include the port.  So, your URL would be something like:

    https://subdomain.mydomain.com.au:8028/somepath_or_paths/{argument_variable1}-{argument_variable2

    2 replies

    sdsinc_pmascariCorrect answer
    Legend
    February 9, 2024

    When you say your CF server is on AWS, I'm assuming you mean the AWS EC2 service?

    If that is the case, and if you plan to continue using port 8028, you need to open that port to your EC2 instance.  This posting talks about how to do this.  Just  substitute your port 8028 everywhere it mentions port 80

     

    Using this method, all those who want to use the webservice must include the port.  So, your URL would be something like:

    https://subdomain.mydomain.com.au:8028/somepath_or_paths/{argument_variable1}-{argument_variable2

    Participant
    February 12, 2024

    Thanks for the Help. As I replied above the solution turned out to be ridiculously simple. I just needed to run the simplest index.cfm page at the IIS iinetpub wwwroot level, and then ColdFusion kicked in with my mapped Rest Service path, and everything else, running perfectly on port 80. Had I put in an Application.cfc at the start, I suspect that would have done the trick as well. 

    sharp_quirk16B6
    Inspiring
    February 9, 2024

    I came here searching for the same answer.

    I am using IIS on my development server. I am goign to try playing around with virtual directories on the IIS site and see if I can get something cobbled together.

    Please update this post if you found something that works for you.

    Participant
    February 12, 2024

    It was kind of silly/stupid in the end. I had not run an index.cfm at the IIS webroot directory. Once I did - it can be anything dead simple as long as it is .cfm - then My web service mapping started working on port 80 (as per the CF IIS connector). You may have been like me. I started developing a Web Service with CF, and hadn't bothered with any .cfm pages. That is, I purchased CF for the first purpose of standing up the web service, did the development locally and then deployed ... I did some searching around, and I don't know where I found the suggestion, but just running the simplest .cfm page at the IIS web root resulted in my rest path mapping and my web service cfc 'just working'. So, that's it, just run the most basic of .cfm page at our web root once you have installed the IIS Connector, and then ColdFusion will suddenly run everything happily through port 80.