stesie / geierlein

Elster UStVA implementation in pure JavaScript
http://stesie.github.com/geierlein/
GNU Affero General Public License v3.0
129 stars 18 forks source link

Geierlein ohne Nodes.JS / npm #68

Open htgoebel opened 6 years ago

htgoebel commented 6 years ago

In https://github.com/stesie/geierlein/issues/67#issuecomment-385060224 schreibst Du, dass Du XUL fallen lassen wirst. Das verstehe ich. Allerdings habe ich mit einer Nodes.JS(npm Anwendung heftige Bedenken:

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 commented 6 years ago

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

... 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 commented 6 years ago

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 commented 6 years ago

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.