standalone https web app

For a web app, I have a website with an SSL certificate attached running on an Apache server.
The site itself will be used alongside a web app. How can I use the HandleSpecialURL to do acces the web app running standalone on this server?
I cannot use port 443 as that is used for the normal website.
Can I use a redirect somehow and use a different port? It has to be a secure port as it will be called from an iOS App that only allows secure ports.
When I us a port like 8080 it obviously doesn’t work, as that is not secure.
So is there a port number besides 443 that I could use in a redirect and have that as the port the web app runs on?

Port 8080 could be secure. It just depends on your configuration. If it’s a standalone app, you can actually get it to listen securely directly. Look at the docs under WebApplication for a list of command-line parameters.

For my standalone WebApp I auto-launch on startup with parameters:

pathToMyWebApp --port=XXXX --secureport=443

I have an app that runs on a Department of Defense server (I’m not allowed to even get near the servers). The app is compiled for port 80, but they said that they actually run it on port 8080. I’m not sure how they do it, but I know they use an https prefix, so I’m assuming there must be a way to do port 8080 with a SSL certificate.

Interestingly, when I asked what port they wanted to run it on and offered to compile it for a specific port, they said just run it on port 80 and they would take it from there. I’m not sure exactly how they did it, but I think it’s one of those things where if they told me, they’d have to kill me, so I just leave it alone.

Well, you can run a standalone xojo webapp on port 80 on some dedicated hardware or virtual private server.

In front of it you can use software like haproxy, which you configure to accept encrypted connections over https, which then are routed to the webapp over an unencrypted connection on port 80.

The user thinks he talks to the webapp directly and encrypted, but well …

Like Oliver said, you can use a proxy or node balancer that accepts and terminates the encrypted traffic and then communicates with the app via whatever port it’s using.

Another approach is using a container (i.e. Docker), where you can map whatever ports it exposes to a port you want to use externally when bringing it up.

@Greg O’Lone : I know I can run it like David states with pathtoapp --port=8080 --secureport=443, but the app needs to run secure on a domain that already has a website hosted using an SLL, so when I run it like above, I can only access it unsecure over port 8080,
whilst I need to access it securely, without removing the website from port 443. How do I do that?

PathToMyWebApp  --port=8080 --secureport=444

Then run https://myWebAppDomain:444

@David Cox : Thanks for the quick reply, but that does not work on my server. When I launch it like you stated, I can access it only over 8080, but on 444 it says it cannot connect to the server.

@Boudewijn Krijger Can you configure Apache to use ReverseProxy for app’s path or domain to app running on localhost:8080 or whatever port you want to use?

E.g. https://www.example.com/webapp/ --> http://localhost:8080/

Do you have the SSL certificate next to the app and properly named or the path specified?

This would be worth a quick read:

http://developer.xojo.com/standalone-ssl

I would also check Windows firewall if its running on your machine and make sure you open what port you chose.