After a sleepless night, I finally got it working with nginx (works 
flawlessly with websockets). Turns out only ws-server port and hostname is 
relevant for the setup. Below nginx config works with the default Bob 
settings and adds LetsEncrypt certs obtained from certbot. I have also 
added basic authentication support which are secure only over SSL. Partial 
demo at notes.mefyi.com.

server {
        listen 80 default_server;
        listen [::]:80 default_server;

        root /var/www/html;
        index index.html index.htm index.nginx-debian.html;
        server_name _;
        location / {
                auth_basic "Private Area";
                auth_basic_user_file /etc/apache2/.htpasswd;
                proxy_pass http://0.0.0.0:8080;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection 'upgrade';
                proxy_set_header Host $host;
                proxy_cache_bypass $http_upgrade;
                try_files $uri $uri/ =404;
        }

}

server {

        root /var/www/html;
        index index.html index.htm index.nginx-debian.html;
    server_name notes.mefyi.com; # managed by Certbot

        location / {
                auth_basic "Private Area";
                auth_basic_user_file /etc/apache2/.htpasswd;
                proxy_pass http://localhost:8080;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection 'upgrade';
                proxy_set_header Host $host;
                proxy_cache_bypass $http_upgrade;
                try_files $uri $uri/ =404;
        }


    listen [::]:443 ssl ipv6only=on; # managed by Certbot
    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/notes.mefyi.com/fullchain.pem; # 
managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/notes.mefyi.com/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 = notes.mefyi.com) {
        return 301 https://$host$request_uri;
    } # managed by Certbot

        listen 80 ;
        listen [::]:80 ;
    server_name notes.mefyi.com;
    return 404; # managed by Certbot

}

On Saturday, September 5, 2020 at 10:01:38 PM UTC+5:30 Tejasvi S Tomar 
wrote:

> Hi Enrico,
> Did you manage to figure it out? I am facing the exact same issue while 
> trying to setup Bob on VPS. There seems to be issue with the reverse 
> connection whie saving the changes. There are three things to configure in 
> settings.json: ws-server, saver, and serverInfo, and then the Apache needs 
> to be configured corresponding to the specified ports/hostname/ip in 
> settings.json. I have tried a few permutation and combinations with no 
> luck. Hopefully if someone has managed to make Bob + VPS work would chime 
> in.
> On Monday, December 23, 2019 at 7:24:26 PM UTC+5:30 Enrico wrote:
>
>> 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 
>> <https://github.com/OokTech/TW5-Bob/blob/09de6a2569fbdb95b17ca183bc2a9c824bcac3d8/Documentation/ApacheServer.tid>)
>>  
>> does not seem to be working, and I'm having a hard time figuring out what's 
>> wrong.
>> Any suggestion is highly appreciated. I'm so stuck that I'm considering 
>> writing my own multi-wiki tiddlywiki server :)
>>
>> 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 
>> <https://groups.google.com/d/msg/tiddlywiki/e2CHBYZV4GQ/WpSs7SaVBAAJ>.
>>
>> *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>
>>
>>

-- 
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/c524be52-36eb-45f0-bbe4-52edce416212n%40googlegroups.com.

Reply via email to