Trouble with activation links with web port other than 80, again


(Paolo G. Giarrusso) #1

I just installed discourse through Docker, running on port 8008 (because port 80 is unavailable, and I’m not going to setup reverse proxying for now). Yet, activation links don’t include port 8008 so they don’t work unless corrected by hand. How do I inform Discourse of the port it’s running behind?

An earlier discussion, Trouble with activation links with web port other than 80, suggested:

but this setting appears to have been removed.

(Jeff Atwood) #2

We do not support production sites on any ports other than default http and HTTPS. If you need a different port you must be in local development mode.

(Fernando De Assis Rodrigues) #3

Yeah, but in my case another port is mandatory (part of my university policies). Now Discourse is running on 8084 and all mails will go wrong to users. So sad.

(Jeff Atwood) #4

Pretty sure you could proxy those ports through nginx.

(Fernando De Assis Rodrigues) #5

Yeah of course, but in 80 port is running a PHP website (Joomla!). It’s a common thing in Brazil to use a server to deliver multiple services, because it’s so expensive to buy or to rent IT Solutions here.

(Paolo G. Giarrusso) #6

Similar setups are common outside Brazil for various reasons — see “virtualization” (I think it went from buzzword to commodity).

It is still technically possible to have both services on the same port, exactly as Jeff Atwood said: you run nginx on port 80 and make it dispatch to either Joomla or Discourse based on the request (google “nginx reverse proxy” for info). Most people do use different hostnames, but I suspect you could even use different directories for that.

But if you talk about “university policies”, you might not have the privileges for the right setup (although, if you can run Docker, that’s very confusing).

(Fernando De Assis Rodrigues) #7

Guys it’s not a installation problem. In fact, I’m a Computer Scientist, but in my university, I only have right to enable 1 server with 1 subdomain. In port 80 runs another service that I need to my project and I can change right now to other port. So sad.