Skip to content

Nerdkram: EtherCalc via SSL Reverse Proxy

Weil man in den zahlreichen Anleitungen, wie man ethercalc mit nginx hinter einen Reverse Proxy setzt nicht enthalten ist, wie auf man diesen SSL verschlüsselt zugreifen kann dachte ich mir, ich mach das und blogge das auch gleich mal. Erstens weil ich ein Gedächtnis wie ein Sieb habe, zweitens als Fingerübung und drittens, weil das vielleicht jemand brauchen kann. Als SSL Zertifikat verwende ich das freie von Let's encrypt.

Die "# managed by certbot" Zeilen werden durch den certbot automatisch hinzugefügt. Also diese nicht einfach kopieren ;-) Die Konfguration in dem Beispiel setzt weiterhin voraus, daß ethercalc bereits installiert ist und auf Port 8000 lauscht. Zudem ist eine (sub)Domain ethercalc.domainname.de angenommen. Diese ist durch die eigene Domain zu ersetzen.

Zum Herumspielen habe ich hier einen ethercalc Server aufgesetzt. Nach 144 Stunden = 6 Tagen werden inaktive Spreadsheets gelöscht - also vorher lokal sichern!
Für die Aufrechterhaltung, Pflege und Datensicherung gebe ich keinerlei Gewähr!

Bei mayfirst.org ist eine virtual host Konfiguration verfügbar.

upstream ethercalc {
  server 127.0.0.1:8000; # Auf Port 8000 lauscht in diesem Beispiel ethercalc
}

server {
    server_name ethercalc.domainname.de;

    location / {
        proxy_pass http://ethercalc/;
        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-Forward-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forward-Proto http;
        proxy_set_header X-Nginx-Proxy true;

        proxy_redirect off;
    }

    listen 443 ssl; # managed by Certbot - über diesen Standard port für https ist der Reverse Proxy erreichbar
    ssl_certificate /etc/letsencrypt/live/ethercalc.domainname.de/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/ethercalc.domainname.de/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

}

server {
    if ($host = ethercalc.domainname.de) {
        return 301 https://$host$request_uri;
    } # managed by Certbot

    listen 80;
    server_name ethercalc.domainname.de;
    return 404; # managed by Certbot

}

Ich freue mich über eine Unterstützung via Paypal über Liberapay oder auch ein paar Satoshis an: bc1qgthwzrszw48lw9jl8zjg94fp6w6xfkw0929vg0


Trackbacks

No Trackbacks

Comments

Display comments as Linear | Threaded

No comments

Add Comment

E-Mail addresses will not be displayed and will only be used for E-Mail notifications.
To leave a comment you must approve it via e-mail, which will be sent to your address after submission.

To prevent automated Bots from commentspamming, please enter the string you see in the image below in the appropriate input box. Your comment will only be submitted if the strings match. Please ensure that your browser supports and accepts cookies, or your comment cannot be verified correctly.
CAPTCHA

Enclosing asterisks marks text as bold (*word*), underscore are made via _word_.
BBCode format allowed
Form options

Submitted comments will be subject to moderation before being displayed.

cronjob