-
Notifications
You must be signed in to change notification settings - Fork 8
Omegga and Good HTTPS
These instructions are for people who are hosting dedicated servers and want other users to be able to access your web ui, not for the faint of heart.
Replace any instance of OMEGGA.YOURDOMAIN.COM
in these instructions with your domain (most users use omegga
as a subdomain)
Create an A record
in DNS settings for your domain. Point OMEGGA.YOURDOMAIN.COM
at your server's IP.
Generate some temporary ssl keys and move them to /etc/ssl/certs
sudo openssl req -x509 -newkey rsa:4096 -nodes -keyout ./omegga_key.pem -out ./omegga_cert.pem -days 365 -subj '/CN=OMEGGA.YOURDOMAIN.COM'
sudo mv omegga_*.pem /etc/ssl/certs/
Generate a strong dhparam (What is dhparam??)
sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048
Create nginx config by pasting this in /etc/nginx/sites-enabled/omegga.conf
and replace OMEGGA.YOURDOMAIN.COM
with your domain.
server {
listen 443 ssl;
server_name OMEGGA.YOURDOMAIN.COM;
error_log /var/log/nginx/omegga.log;
ssl_certificate /etc/ssl/certs/omegga_cert.pem;
ssl_certificate_key /etc/ssl/certs/omegga_key.pem;
ssl_dhparam /etc/ssl/certs/dhparam.pem;
ssl_protocols TLSv1.2;
ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA';
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:20m;
ssl_session_timeout 180m;
location / {
proxy_pass https://127.0.0.1:8080/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Nginx-Proxy true;
proxy_redirect off;
}
}
server {
listen 80;
server_name OMEGGA.YOURDOMAIN.COM;
return 301 https://OMEGGA.YOURDOMAIN.COM$request_uri;
}
Delete /etc/nginx/sites-enabled/default
if you haven't already and service nginx restart
Make sure you have ports 80
and 443
forwarded/open on firewall for your server. Do not bother port forwarding 8080
unless you are troubleshooting.
Before you can run certbot, you need to make sure nginx is working. Visit https://OMEGGA.YOURDOMAIN.COM
and check if it has insecure certificate.
You can check if nginx has any errors by cat /var/log/nginx/error.log
Follow certbot instructions for nginx and run certbot --nginx
when you are ready.
You should be able to access the omegga web ui from https://OMEGGA.YOURDOMAIN.COM
!