Removing port 80 and 443 conflict with macOS Server 5

Apple’s macOS Server 5.x has a rather different Apache configuration compared to the core macOS setup or those used in previous versions of Server. In particular, an instance of Apache is used as a proxy to any ‘backend’ copies of Apache. Here’s how to work around this…

Problems with Proxy and Ports

Unfortunately, the new proxy setup has the proxy always listening (attached) to ports 80 & 443, even if the sites in Server GUI are disabled and the Web service is off. This is problematic if you want setup something outside of Server (e.g., FileMaker Server) that needs to attach to ports 80 or 443.

One option to avoid this conflict is to modify the proxy configuration to no longer listen on these ports. The configuration file for this can be found at:

/Library/Server/Web/Config/Proxy/apache_serviceproxy.conf

Once you have the file open in an editor, make the following changes.

For each of these directives using port 443 or 80:

  • use 9443 instead of 443
  • use 8080 instead of 80

Directives that need to be changed are:

  • Listen
  • VirtualHost
  • RequestHeader

I’ve done this often enough that I’ve finally come up with a full sed based shell script to make these changes:

A possible problem with this approach is that either later Server upgrades might blow out these changes, or the Server upgrade may stumble due to the non-standard configuration.

Another option may be to disable the proxy from starting in the first place. However, I haven’t yet tracked down what is instantiating this process, as it doesn’t use the more typical methods of doing this on Mac OS.

If you see a lot of messages like the ones below in your system.log, your changes either got overwritten or have errors:

Simon

Leave a Reply