Cannot serve Bob-powered tiddlywiki behind an Apache SSL proxy (vanilla nodejs tw works fine)

50 views
Skip to first unread message

Enrico Guiraud

unread,
Jan 3, 2020, 7:21:39 AM1/3/20
to TiddlyWiki
Hi,
I am trying to setup a Bob server on my VPS. I have googled for resources but what I could dig up (mainly this example apache configuration) does not seem to be working, and I'm having a hard time figuring out what's wrong.
Any suggestion is highly appreciated -- I don't even know how to debug what's going on.

Cheers,
Enrico

What I'm trying to do
I would like to access a Bob-powered tiddlywiki as `multiwiki.my.domain`.
Next step: access Bob-managed sub-wikis as `multiwiki.my.domain/subwiki`, to get around node's insane RAM usage.

Problems
When I try to access `multiwiki.my.domain`, I get Bob's starting page but at the bottom there is a red banner stating "WARNING: The connection to server hasn't been established yet."
Checking Firefox's console log, the only message present says "Firefox can’t establish a connection to the server at wss://multiwiki.my.domain/."

My setup

$ git clone --depth=1 https://github.com/OokTech/TW5-Bob.git /usr/lib/node_modules/tiddlywiki/plugins/OokTech/Bob
$ cp -r /usr/lib/node_modules/tiddlywiki/plugins/OokTech/Bob/MultiUserWiki MultiWiki

# MultiWiki/settings/settings.json
{
  "serverName": "multiwiki.my.domain",
  "scripts": {
    "NewWiki": "tiddlywiki #wikiName --init #editionName"
  },
  "wikis": {

  },
  "ws-server": {
    "port": 8086,
    "host": "127.0.0.1",
    "autoIncrementPort": false
  },
  "heartbeat": {
    "interval": 1000
  },
  "wikisPath": "./Wikis",
  "pluginsPath": "./Plugins",
  "themesPath": "./Themes",
  "servingFiles": {}
}

# apache_confs/multiwiki-ssl.conf
<IfModule mod_ssl.c>
<VirtualHost *:443>
        ServerName multiwiki.my.domain

        ProxyRequests Off
        ProxyPreserveHost on

        ###### Adding WebSockets ######
        RewriteEngine On
        RewriteCond %{HTTP:Connection} Upgrade [NC]
        RewriteCond %{HTTP:Upgrade} websocket [NC]
        RewriteRule /(.*) ws://127.0.0.1:8086/$1 [P,L]
        ###### Finished WebSockets #######

        Include /etc/letsencrypt/options-ssl-apache.conf
        SSLCertificateFile ...
        SSLCertificateKeyFile ...

        ProxyPass "/"  "http://127.0.0.1:8086/"
        ProxyPassReverse "/"  "http://127.0.0.1:8086/"

        AllowEncodedSlashes On
        SSLEngine On
        SSLProxyEngine On
</VirtualHost>
</IfModule>
Reply all
Reply to author
Forward
0 new messages