It's a stand-alone Apache server, with a name based virtual host 
configuration and SSL enabled.

I'm attaching the vhost configuration file and a relevant session I 
captured with the HTTP Header Live extension for Firefox. I obfuscated the 
domain name for privacy.

As one can see from the log, after I reloaded the page the Last-modified 
header was still the same as the one that caused the second PUT request to 
fail the precondition check. It's really baffling.

Cheers.

On Tuesday, November 12, 2019 at 12:09:53 PM UTC+1, PMario wrote:
>
> On Monday, November 11, 2019 at 10:01:00 PM UTC+1, Daimon Eu wrote:
>
> Server: Apache/2.4.25 (Raspbian) using the stock dav module
>> Client: latest Firefox with no extensions apart from uBlock.
>>
>
> uBlock should not have any impact. I use it since several years and had no 
> problems with any site so far.
>  
>
>> The first save goes through (it does not contain the If-Unmodified-Since 
>> header).
>>
>> On the second I receive the "modified" error and I can't save anymore 
>> until I reload the wiki.
>>
>> I can provide you with request and response headers and relevant server 
>> configuration in case you want to look into this.
>>
>
> It would be interesting, in which context you use the Apache server. Is it 
> a stand alone configuration on the rasp-pi or do you use an other 
> "framework" eg: NextCloud or something similar. 
>
> I do have several raspberry pi's, so I may be able to test your 
> configuration. 
>
> I'll have to have a look, with which version we did the tests. I did the 
> development for IIS, apache and nginx configurations quite some time ago. 
> ... So may be a new test needs to be done. 
>  
>
>> I've disabled gzip compression and I confirm the stock Webdav saver is 
>> working fine without it.
>>
>
> That's right. 
>
> have fun!
> mario
>

-- 
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/b941b1e9-65d1-4bea-ba12-5e20e9026729%40googlegroups.com.
<VirtualHost *:80>
        ServerName domain
        Redirect permanent / https://domain/
</VirtualHost>

<VirtualHost *:443>     
        ServerName domain
        
        DocumentRoot /var/www/domain
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>

        <Directory /var/www/domain>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Require all granted
        </Directory>

        <Directory /var/www/domain/doc/>
                Options Indexes MultiViews
                AllowOverride None
                Require all granted
        </Directory>

        Alias /dav/doc /var/www/domain/doc
        <Location /dav/doc>
                # uncomment next line to make TiddlyWiki core webdav saver work
                #RequestHeader edit "If-Match" '^"((.*)-(gzip|br))"$' '"$1", 
"$2"'
                DAV On
                AuthType Basic
                AuthName "webdav"
                AuthUserFile /var/www/passwd.dav
                Require valid-user
        </Location>

        ErrorLog ${APACHE_LOG_DIR}/error-domain.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel error

        #CustomLog ${APACHE_LOG_DIR}/access.log combined
        CustomLog /dev/null common
        
        SSLEngine On
        SSLCertificateFile /etc/letsencrypt/live/domain/cert.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/domain/privkey.pem
        SSLCertificateChainFile /etc/letsencrypt/live/domain/chain.pem

</VirtualHost>
https://[domain]/dav/doc/test.htm
Host: [domain]
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:70.0) Gecko/20100101 
Firefox/70.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: it-IT,it;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate, br
DNT: 1
Authorization: Basic bWFyY286MTIz
Connection: keep-alive
Upgrade-Insecure-Requests: 1

GET: HTTP/1.1 200 OK
Date: Tue, 12 Nov 2019 13:15:21 GMT
Server: Apache/2.4.25 (Raspbian)
Last-Modified: Tue, 12 Nov 2019 13:11:35 GMT
ETag: "230ac3-59725fcdeed6b-gzip"
Accept-Ranges: bytes
Vary: Accept-Encoding
Content-Encoding: gzip
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html
---------------------
https://[domain]/dav/doc/test.htm
Host: [domain]
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:70.0) Gecko/20100101 
Firefox/70.0
Accept: application/json
Accept-Language: it-IT,it;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate, br
X-Requested-With: TiddlyWiki
Content-Type: text/plain;charset=UTF-8
Content-Length: 0
Origin: https://[domain]
DNT: 1
Authorization: Basic bWFyY286MTIz
Connection: keep-alive
Referer: https://[domain]/dav/doc/test.htm

OPTIONS: HTTP/1.1 200 OK
Date: Tue, 12 Nov 2019 13:15:22 GMT
Server: Apache/2.4.25 (Raspbian)
DAV: 1,2, <http://apache.org/dav/propset/fs/1>
MS-Author-Via: DAV
Allow: 
OPTIONS,GET,HEAD,POST,DELETE,TRACE,PROPFIND,PROPPATCH,COPY,MOVE,PUT,LOCK,UNLOCK
Content-Length: 0
Keep-Alive: timeout=5, max=99
Connection: Keep-Alive
Content-Type: text/html
---------------------
https://[domain]/dav/doc/test.htm
Host: [domain]
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:70.0) Gecko/20100101 
Firefox/70.0
Accept: */*;charset=UTF-8
Accept-Language: it-IT,it;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate, br
X-Requested-With: TiddlyWiki
DNT: 1
Authorization: Basic bWFyY286MTIz
Connection: keep-alive
Referer: https://[domain]/dav/doc/test.htm

HEAD: HTTP/1.1 200 OK
Date: Tue, 12 Nov 2019 13:15:22 GMT
Server: Apache/2.4.25 (Raspbian)
Last-Modified: Tue, 12 Nov 2019 13:11:35 GMT
ETag: "230ac3-59725fcdeed6b-gzip"
Accept-Ranges: bytes
Vary: Accept-Encoding
Content-Encoding: gzip
Keep-Alive: timeout=5, max=98
Connection: Keep-Alive
Content-Type: text/html
---------------------
https://[domain]/dav/doc/test.htm
Host: [domain]
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:70.0) Gecko/20100101 
Firefox/70.0
Accept: application/json
Accept-Language: it-IT,it;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate, br
X-Requested-With: TiddlyWiki
Content-Type: text/plain;charset=UTF-8
Content-Length: 0
Origin: https://[domain]
DNT: 1
Authorization: Basic bWFyY286MTIz
Connection: keep-alive
Referer: https://[domain]/dav/doc/test.htm

OPTIONS: HTTP/1.1 200 OK
Date: Tue, 12 Nov 2019 13:15:22 GMT
Server: Apache/2.4.25 (Raspbian)
DAV: 1,2, <http://apache.org/dav/propset/fs/1>
MS-Author-Via: DAV
Allow: 
OPTIONS,GET,HEAD,POST,DELETE,TRACE,PROPFIND,PROPPATCH,COPY,MOVE,PUT,LOCK,UNLOCK
Content-Length: 0
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html
---------------------
https://[domain]/dav/doc/favicon.ico
Host: [domain]
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:70.0) Gecko/20100101 
Firefox/70.0
Accept: image/webp,*/*
Accept-Language: it-IT,it;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate, br
DNT: 1
Authorization: Basic bWFyY286MTIz
Connection: keep-alive

GET: HTTP/1.1 404 Not Found
Date: Tue, 12 Nov 2019 09:29:30 GMT
Server: Apache/2.4.25 (Raspbian)
Content-Length: 278
Content-Type: text/html; charset=iso-8859-1
---------------------
https://[domain]/dav/doc/test.htm
Host: [domain]
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:70.0) Gecko/20100101 
Firefox/70.0
Accept: */*
Accept-Language: it-IT,it;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate, br
Content-Type: text/html;charset=UTF-8
X-Requested-With: TiddlyWiki
Content-Length: 2296723
Origin: https://[domain]
DNT: 1
Authorization: Basic bWFyY286MTIz
Connection: keep-alive
Referer: https://[domain]/dav/doc/test.htm

<!doctype html>
[snip]
</html>

PUT: HTTP/1.1 204 No Content
Date: Tue, 12 Nov 2019 13:15:47 GMT
Server: Apache/2.4.25 (Raspbian)
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html
---------------------
https://[domain]/dav/doc/test.htm
Host: [domain]
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:70.0) Gecko/20100101 
Firefox/70.0
Accept: */*
Accept-Language: it-IT,it;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate, br
X-Requested-With: TiddlyWiki
DNT: 1
Authorization: Basic bWFyY286MTIz
Connection: keep-alive
Referer: https://[domain]/dav/doc/test.htm

HEAD: HTTP/1.1 200 OK
Date: Tue, 12 Nov 2019 13:15:50 GMT
Server: Apache/2.4.25 (Raspbian)
Last-Modified: Tue, 12 Nov 2019 13:15:49 GMT
ETag: W/"230b93-597260c02ad16-gzip"
Accept-Ranges: bytes
Vary: Accept-Encoding
Content-Encoding: gzip
Keep-Alive: timeout=5, max=99
Connection: Keep-Alive
Content-Type: text/html
---------------------
https://[domain]/dav/doc/test.htm
Host: [domain]
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:70.0) Gecko/20100101 
Firefox/70.0
Accept: */*
Accept-Language: it-IT,it;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate, br
Content-Type: text/html;charset=UTF-8
If-Unmodified-Since: Tue, 12 Nov 2019 13:15:49 GMT
X-Requested-With: TiddlyWiki
Content-Length: 2296751
Origin: https://[domain]
DNT: 1
Authorization: Basic bWFyY286MTIz
Connection: keep-alive
Referer: https://[domain]/dav/doc/test.htm

<!doctype html>
[snip]
</html>

PUT: HTTP/1.1 412 Precondition Failed
Date: Tue, 12 Nov 2019 13:16:18 GMT
Server: Apache/2.4.25 (Raspbian)
Content-Length: 315
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html; charset=iso-8859-1
---------------------


[PAGE RELOAD]


https://[domain]/dav/doc/test.htm
Host: [domain]
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:70.0) Gecko/20100101 
Firefox/70.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: it-IT,it;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate, br
DNT: 1
Authorization: Basic bWFyY286MTIz
Connection: keep-alive
Upgrade-Insecure-Requests: 1

GET: HTTP/1.1 200 OK
Date: Tue, 12 Nov 2019 13:21:14 GMT
Server: Apache/2.4.25 (Raspbian)
Last-Modified: Tue, 12 Nov 2019 13:15:49 GMT
ETag: "230b93-597260c02ad16-gzip"
Accept-Ranges: bytes
Vary: Accept-Encoding
Content-Encoding: gzip
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html
---------------------
https://[domain]/dav/doc/test.htm
Host: [domain]
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:70.0) Gecko/20100101 
Firefox/70.0
Accept: application/json
Accept-Language: it-IT,it;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate, br
X-Requested-With: TiddlyWiki
Content-Type: text/plain;charset=UTF-8
Content-Length: 0
Origin: https://[domain]
DNT: 1
Authorization: Basic bWFyY286MTIz
Connection: keep-alive
Referer: https://[domain]/dav/doc/test.htm

OPTIONS: HTTP/1.1 200 OK
Date: Tue, 12 Nov 2019 13:21:15 GMT
Server: Apache/2.4.25 (Raspbian)
DAV: 1,2, <http://apache.org/dav/propset/fs/1>
MS-Author-Via: DAV
Allow: 
OPTIONS,GET,HEAD,POST,DELETE,TRACE,PROPFIND,PROPPATCH,COPY,MOVE,PUT,LOCK,UNLOCK
Content-Length: 0
Keep-Alive: timeout=5, max=99
Connection: Keep-Alive
Content-Type: text/html
---------------------
https://[domain]/dav/doc/test.htm
Host: [domain]
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:70.0) Gecko/20100101 
Firefox/70.0
Accept: */*;charset=UTF-8
Accept-Language: it-IT,it;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate, br
X-Requested-With: TiddlyWiki
DNT: 1
Authorization: Basic bWFyY286MTIz
Connection: keep-alive
Referer: https://[domain]/dav/doc/test.htm

HEAD: HTTP/1.1 200 OK
Date: Tue, 12 Nov 2019 13:21:15 GMT
Server: Apache/2.4.25 (Raspbian)
Last-Modified: Tue, 12 Nov 2019 13:15:49 GMT
ETag: "230b93-597260c02ad16-gzip"
Accept-Ranges: bytes
Vary: Accept-Encoding
Content-Encoding: gzip
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html
---------------------
https://[domain]/dav/doc/test.htm
Host: [domain]
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:70.0) Gecko/20100101 
Firefox/70.0
Accept: application/json
Accept-Language: it-IT,it;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate, br
X-Requested-With: TiddlyWiki
Content-Type: text/plain;charset=UTF-8
Content-Length: 0
Origin: https://[domain]
DNT: 1
Authorization: Basic bWFyY286MTIz
Connection: keep-alive
Referer: https://[domain]/dav/doc/test.htm

OPTIONS: HTTP/1.1 200 OK
Date: Tue, 12 Nov 2019 13:21:15 GMT
Server: Apache/2.4.25 (Raspbian)
DAV: 1,2, <http://apache.org/dav/propset/fs/1>
MS-Author-Via: DAV
Allow: 
OPTIONS,GET,HEAD,POST,DELETE,TRACE,PROPFIND,PROPPATCH,COPY,MOVE,PUT,LOCK,UNLOCK
Content-Length: 0
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html
---------------------
https://[domain]/dav/doc/favicon.ico
Host: [domain]
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:70.0) Gecko/20100101 
Firefox/70.0
Accept: image/webp,*/*
Accept-Language: it-IT,it;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate, br
DNT: 1
Authorization: Basic bWFyY286MTIz
Connection: keep-alive

GET: HTTP/1.1 404 Not Found
Date: Tue, 12 Nov 2019 09:29:30 GMT
Server: Apache/2.4.25 (Raspbian)
Content-Length: 278
Content-Type: text/html; charset=iso-8859-1
---------------------

Reply via email to