Hi Daniel, thank you, interesting in any case. I might try it.
Kind regards, Pietro On Friday, October 11, 2019 at 9:14:44 PM UTC+2, Daniel wrote: > > Hi Pietro, > I myself wanted to have HTTPS to my wiki for some years, and just to add a > note around this subject (and perhaps some inspiration) I solved this > myself by running a proxy with let´s encrypt on a OPNsense firewall, And it > is glorious without any certifciate warnings. > This requrires you to install the OPNsense firewall but if you are into > that sort of a thing it might be fun. > > I followed this guide in general for another site I have, but it works > just fine for Tiddlywiki as well or any other thing you would like to have > behind HTTPS. > https://blog.bagro.se/lets-encrypt-with-haproxy-on-opnsense/ > > Just wanted to share. > > Kind regards > > On Tuesday, October 1, 2019 at 5:10:50 PM UTC+2, Pietro Abano wrote: >> >> Hello everyone, >> >> I could not find anything related to what I am trying to achieve here so >> if it's already covered somewhere please let me know. >> >> As much as I love Jed's amazing work on *BobWiki* because it changes the >> ball game for TW5 completely, allowing to share and work on something with >> a team, over a local network, there is one thing that I'm missing - user >> authentication. >> >> In my scenario it is not so much about who the actual individual is, only >> that it should be one of the authorized users. >> So I thought the client certificate-based authentication would do it. I >> set up a reverse proxy using nginx to handle SSL/TLS (for the web server >> and the clients) and talking to a local nodejs application on client's >> behalf. >> >> After some reading about nginx and tweaking my nginx configs I am finally >> able to access the TW5 on nodejs via https and even authenticate to it >> (actually to nginx) with client X.509 certs, but unfortunatelly I hit a >> problem: >> >> - can't make any changes to TW5/BobWiki over the https. >> >> >> The setup: >> the TW5 runs on nodejs at 127.0.0.1:8080 >> Tiddlywiki version 5.1.21 with Bob version 1.2.4 >> Serving on 127.0.0.1:8080 >> >> on the same host with IP of 192.168.112.110 there's nginx listening at 80 >> or 443 forwarding all traffic to http://127.0.0.1:8080 >> >> It appears the TW5 is not aware of any requests done from the web client, >> while direct connection to nodejs works as usual. >> >> Not being a web developer nor an experienced sysadmin (just a tinker) I >> have no clue as to where to look. Is it something with my nginx >> configuration, more specifically with websockets? When looking at the data >> being tranferred (Chrome, Inspect, Network) e.g. when adding a new tiddler, >> I don't see much going on. >> >> I can see some websocket communication initiated by >> $:/plugins/OokTech/Bob/BrowserWebSocketsSetup.js which is different when >> I go directly to nodejs - there I can see $:/core/module/saver in >> action, while when I use the nginx-proxied access I don't see this at all. >> >> Another symptom of the behavior is that when two users connect to the >> same TW5 on nodejs, they both see any changes done by one of them in almost >> real-time without refreshing the page while in ngix-proxied https access no >> such on-screen update happens. >> >> Studying the errors in Chrome I've come up with this which seems relevant: >> $:/plugins/OokTech/Bob/BrowserWebSocketsSetup.js:63 WebSocket connection >> to 'wss://192.168.112.110/' failed: Error during WebSocket handshake: >> Unexpected response code: 200 (of course without https, this looks like >> 'ws://192.168.112.110/') >> >> Btw, the Firefox's error pinpoints the line in the code (does not say >> which source, I assume it's this BrowserWebSocketsSetup.js): >> Firefox can’t establish a connection to the server at wss:// >> 192.168.112.110/. line 11345 > eval:63:48 >> >> This all happens regardless of http or https, it's the same error as long >> as nginx is in the middle. >> >> At various forums I found the solution for that Chrome error and it looks >> like a websocket configuration thing in nginx: >> >> - from https://github.com/websockets/ws/issues/979 >> >> "*Had the same issue, my app is behind nginx. Making these changes to my >> Nginx config removed the error.* >> >> *location / {* >> *proxy_pass http://localhost:8080 <http://localhost:8080>;* >> *proxy_http_version 1.1;* >> *proxy_set_header Upgrade $http_upgrade;* >> *proxy_set_header Connection "upgrade";* >> *proxy_set_header Host $host;* >> *}* >> " >> >> The same changes did not help in my case, so it must be somewhere else, >> maybe in the BobWiki code. >> >> But that's about all I can do about it so I'd need someone's help. >> Is there anyone here who would know where this comes from? >> >> I can provide him/her with all the configs or even the full VM >> (Ubuntu18.04mini) if needed. >> But the cert-based authentication seems to be too attractive for me to >> let it vanish to oblivion. >> >> All the best to the community! >> >> Pietro >> > -- You received this message because you are subscribed to the Google Groups "TiddlyWiki" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/067e13f6-7355-4984-9225-e1ffcebe6416%40googlegroups.com.

