5 Replies Latest reply: Apr 3, 2013 11:06 AM by params
params Level 1 Level 1 (0 points)

Hi. I was hoping someone can assist with an issue I am incurring with getting a web service configured / running on mac os x server (snow leopard). Most of our web sites (applications) are running via the web server utility. However, we recently had a application created by an external vendor in which they implemented the use of MVC style routing instead of default pages like in a standard web server. Unfortunately, I'm not sure how the use of MVC style routing would need to be setup to work within the web server. The application is setup to work on Port 8000. The vendor mentioned that we need to route the DNS and get it working (forwarded) on port 80. Sadly, I'm not very familiar with how that will work on the mac server. I was hoping someone could assist with what I would need to do to get this issue possibly resolved.

Apologies, if what I said did not make much sense. Please let me know if you would like me to clarify anything.

 

Thank you,

Param


Xserve, Mac OS X (10.5.8)
  • Camelot Level 8 Level 8 (46,450 points)

    It's not entirely clear to me what point you're at in this, which makes it difficult to answer.

     

    Do you currently have this new site configured and running on your Mac OS X Server? Or is it running somewhere else and you're trying to transfer it to your Mac?

     

    Getting it installed on your Mac is one thing, but if you've already done that then we can skip that process.

     

    If the site is already configured and it's a matter of getting it running on port 8000 then you have bigger questions about your network setup - mapping a port 80 address to a server listening on port 8000 is typically (but not absolutely) a facet of the network, not the server.

     

    It sounds like what the vendor are recommending is configuring port forwarding so that traffic coming in on port 80 to your public IP address is routed to port 8000 on your server. Most NAT routers can do this, so it's just a matter of picking an unused public IP address on your router, setting the port forwarding correctly, and setting up DNS to point this server's name to the public IP address.

    So that's why I say it needs a better understanding of your network. If you don't have multiple public IP addresses that's going to be a problem - you cannot do port forwarding based on a hostname, only an IP address:port combination.


    The options if you don't have multiple IP addresses are a) to convert the site to using name-based virtual hosts (as opposed to port-based) - then it can live on the same IP address as other hosts and Apache looks to the hostname in the request to determine which site's configuration to use, or b) configure a proxy service in Apache so that requests that come in on port 80 are proxied to the server listening on port 8000.

    In my opinion, of the two choices, changing the site to run on port 80 is, by far, the preferred option, but I don't know the site in question, or whether the vendor is going to balk at you changing their default setup.

  • params Level 1 Level 1 (0 points)

    Camelot,

     

    Thank you very much for your response. Sorry for not being very clear. We have the site contents (within one folder) currently placed on the mac server.

    You are correct, the vendor had setup the service to run on Port 8000 and they mentioned that I would need to set up port forwarding so that it would go to Port 80. We only have two public facing IP addresses which are currently being used for other various sites being hosted on the server; all of those which are using Port 80. Per what you had stated, that might not work for us? We currently use Server Admin to set up all our existing sites.

    I will actually ask if there is a way for the vendor to configure the site to run on Port 80 to see if that can resolve the issue. However, if they "balk", which route would you recommend and if you could provide some process in terms of how to do that particular setup.

     

    Thank you again for your help.

     

    --Param

  • params Level 1 Level 1 (0 points)

    Camelot,

     

    As a followup, I asked the vendor to change the port for the site to Port 80 to which they were able to do so within the "settings.js" file. They told me that I will need to restart the node server service with the loadstl commands. Is that appropriate process. Will that harm anything with this particular command?

     

    Thanks!

  • Camelot Level 8 Level 8 (46,450 points)

    If you don't have a spare public IP address then, yes, changing the server to listen on port 80 is the easiest way to go, in my opinion. However, I don't know the specifics of the application to know what (if anything) is involved in making that change. Changing the settings.js is clearly part, but there's usually some Apache-side stuff too. IN short, I just don't know what else might be needed, at least without trying.

  • params Level 1 Level 1 (0 points)

    Thank you. Yeah the only thing that I was aware of changing was the settings.js file. However, I'm not entirely sure of the Apache side within the Mac OS X system. The website is definitely reading the folder but unable to really run from it. Also this particular web application doesn't really have a front facing file such as index.html or default.html; rather they run on .js files which unfortunately, I have not dealt with.