Access Discourse on Port Forwarded by Router


(MorphZan) #1

I have discourse running on an Ubuntu Server inside my network.
To be able to access the install from outside of my network I need to forward ports on my router
Has anyone done this successfully and can help with where in the settings to “set” this up correctly

so basically from outside my network i need to access myinstall.com:9050 which should forward to port 80

Any help/guidance would be much appreciated


(Martin) #2

Check https://ngrok.com/


(MorphZan) #3

Thanks for that

I already have a static “hostname” which I use.
On my router I have set a port eg. “9050” to point to port 80 on my webserver
But im looking for a setting somewhere in the backend of Discourse where i can add the port :9050 at the end of the domain name for site wide access

Whenever discourse sends and email the link is mydomain.com and not mydomain.com:9050 which means i cannot access it from outside of my network.


(Bhanu Sharma) #4

You can map discourse to any port in your yml file

There should be lines

80:80 
443:443

Change those to:

9050:80
#443:443

(MorphZan) #5

And is there a way in the BackEnd to specify the URL must always end with :9050


(Bhanu Sharma) #6

That is exactly what it would do.
Or if You want more control, You can run discourse behind a reverse proxy and set up nginx so that it serves discourse on 9050


(MorphZan) #7

Thank you
Waiting for everything to rebuild after editing so i can test


(Jay Pfaffman) #8

Right. Discourse will not work on a non standard port.

You need to have whatever is doing the reverse proxy to send requests for discourse.example.com to the internal server.


(MorphZan) #9

Thank you to all for the advise etc…
I have decided it seems to be the smarter option to use the DEV Version which allows you to use Port 3000 out the “Box” and I think this is a better option for me for now

Thanks Again to all…