Skip to content
This repository was archived by the owner on Jan 28, 2019. It is now read-only.

Geierlein ohne Nodes.JS / npm #68

Open
htgoebel opened this issue May 5, 2018 · 3 comments
Open

Geierlein ohne Nodes.JS / npm #68

htgoebel opened this issue May 5, 2018 · 3 comments

Comments

@htgoebel
Copy link
Contributor

htgoebel commented May 5, 2018

In #67 (comment) schreibst Du, dass Du XUL fallen lassen wirst. Das verstehe ich. Allerdings habe ich mit einer Nodes.JS(npm Anwendung heftige Bedenken:

  • Der "Security Record" von nodes.js ist schlecht.
  • Bei der Installation landen 221MB "irgendwelcher" Pakete "irgendwo" im Filesystem und werden durch die Paketverwaltung des Betriebssystems nicht erfasst.
  • npm scheint ein übles Tool zu sein. guix kämpft noch immer damit, npm-packate zu paketieren.

Gibt es Möglichkeiten, Geierlein als "App" im neuen Firefox laufen zu lassen? Kann ich auch bei der Entwicklung helfen, wenn ich weiß, in welche Richtung ich schauen muss.

@stesie
Copy link
Owner

stesie commented May 5, 2018

Zunächst vorweg, ich sehe deine Bedenken ... und ich habe nichtmal den zwingenden Drang XUL fallen zu lassen. Für Electron sprachen aus meiner Sicht zuletzt zwei Dinge, einerseits dass XUL irgendwie eine sterbende Plattform ist und andererseits ich zwei Probleme damit lösen muss

  • die Elster Server müssen seit kurzem via TLS 1.2 mit Client-Zertifikat (von dem der private-key geteilt wird) ansprechen; das kann Firefox bestimmt irgendwie, man müsste nur "automatisiert" das Zertifikat in den Zertifikat-Store bekommen oder so
  • im neusten Firefox geht in Geierlein das Einstellungen-Fenster "aus Gründen" nicht mehr auf. Ich finde aber weder den Fehler noch einen Hinweis darauf, was da das Problem sein könnte

... wenn die beiden Probleme gelöst sind, kann auch das XUL Dings weiter leben.

Wenn du mich dabei unterstützen wollen würdest, ... sehr gerne :)

Alternative ohne Node.js/NPM wäre auch, wenn du es in einen Webserver packst und den Web-Server so konfigurierst, dass er nach hinten eine Proxy-Verbindung mit Client-Zert auf macht. Wollte ich auch mal noch dokumentieren, wie da die Config für aussehen muss (habe ich aber noch nicht zusammengesucht)

@amtx
Copy link

amtx commented Jun 6, 2018

Also ich hab das mal mit nginx -V
nginx version: nginx/1.15.0
built by gcc 4.9.2 (Debian 4.9.2-10+deb8u1)
built with OpenSSL 1.0.1t 3 May 2016
TLS SNI support enabled
versucht und sogar die Seite zum eingeben im Browser bekommen. Allerdings wenn ich Daten senden will kommt die Zertifikatsabfrage und dann Bitte warten...

nginx log: 2018/06/06 15:04:25 [error] 5237#5237: *3 upstream sent no valid HTTP/1.0 header while reading response header from upstream, client: 127.0.0.1, server: , request: "POST /proxy/Elster2/EMS/ElsterAnmeldung HTTP/1.1", upstream: "http://185.176.165.21:443/Elster2/EMS/ElsterAnmeldung", host: "localhost:4080", referrer: "http://localhost:4080/"

cat /etc/nginx/conf.d/geierlein.conf
upstream elster-clearing-hosts {
server datenannahme1.elster.de:443;
server datenannahme2.elster.de:443;
server datenannahme3.elster.de:443;
server datenannahme4.elster.de:443;
}

server {
listen 127.0.0.1:4080;
root /opt/taxbird/geierlein/chrome/content;
index index.html;
allow 127.0.0.1;
deny all;
location /proxy/ {
rewrite ^/proxy(/.*) $1 break;
proxy_pass http://elster-clearing-hosts;
proxy_set_header Host '';
proxy_ssl_certificate /etc/nginx/ssl/ssl-clientcert.pem;
proxy_ssl_certificate_key /etc/nginx/ssl/ssl-clientcert.key;
}
}
und ls -l /etc/nginx/ssl/
insgesamt 156
-rw-r--r-- 1 root root 78029 Jun 6 14:30 ssl-clientcert.key
-rw-r--r-- 1 root root 77264 Jun 6 14:30 ssl-clientcert.pem

Was kann ich machen?

@stesie
Copy link
Owner

stesie commented Jun 12, 2018

bei dem proxy_pass fehlt noch ein s beim http://, also korrekt muss es https://elster-clearing-hosts sein. Vgl. auch Datei https://github.com/stesie/geierlein/blob/master/extra/docker/nginx.conf

... wenn du magst kannst du auch einfach mit dem Docker Container probieren. Bei mir hat das funktioniert.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants