revoltchat / self-hosted

Deploy Revolt using Docker.
904 stars 116 forks source link

setup https on Revolt (with Let's encrypt and Nginx) #36

Closed Cocam123 closed 2 years ago

Cocam123 commented 2 years ago

Hello,

I would like to know if it is possible to activate an https (for Revolt) with let's encrypt and Nginx.

I can only put the port 5000 (which works with Nginx to display the login page)

To connect (as a request is sent to port 8000) I can't get it to https with let's encrypt. I would like to know if it is possible to switch the port to https

Thanks in advance for your answers

Ikun886-cxk commented 2 years ago

You can configure the reverse proxy.

Cocam123 commented 2 years ago

actually, I don't know if my configuration is good enough for the other requests to be in https (I changed my domain name and ip to "domain.com" and "ip")

map $http_host $revolt_upstream { domain.com http://ip:5000; #revolt app domain.com:8000 http://ip:8000; #API domain.com:9000 http://ip:9000; #ws domain.com:3000 http://ip:3000; #Autumn domain.com:7000 http://ip:7000; #January domain.com:8080 http://ip:8080; #vortex }

server { server_name domain.com *.domain.com;

if ($http_upgrade) { rewrite ^(.*)$ /ws_78dd759593f041bc970fd7eef8b0c4af$1; }

location / { proxy_pass $revolt_upstream; proxy_set_header Host $host; }

location /ws_78dd759593f041bc970fd7eef8b0c4af/ { proxy_pass $revolt_upstream/; proxy_http_version 1.1; proxy_set_header Host $host; proxy_set_header Connection $http_connection; proxy_set_header Upgrade $http_upgrade; proxy_read_timeout 24h; }

listen 80; # managed by Certbot

listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/cocamserverguild.ddns.net/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/cocamserverguild.ddns.net/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

}

whiskeytangofoxy commented 2 years ago

I would like to know if it is possible to activate an https (for Revolt) with let's encrypt and Nginx.

I can only put the port 5000 (which works with Nginx to display the login page)

To connect (as a request is sent to port 8000) I can't get it to https with let's encrypt. I would like to know if it is possible to switch the port to https

Having the exact same issue with regards to port 8000 connections and https. Works fine in http.

nagyrobi commented 2 years ago

You can configure the reverse proxy.

How?

Alauraa commented 2 years ago

Cocam123 > Nginx config stuff

Would IP be external IP or Internal?

insertish commented 2 years ago

In an effort to clean up the global issue tracker, I'm currently consolidating all issues regarding self-hosting into https://github.com/revoltchat/self-hosted/issues/25#issuecomment-1113606628.