dolphin-emu / www

Dolphin Emulator official website source code (running on https://dolphin-emu.org/)
MIT License
120 stars 68 forks source link

RSS Feed transfer failure #124

Closed ThaChillera closed 3 years ago

ThaChillera commented 4 years ago

When trying to get your rss feed with TinyTinyRSS it fails. According to the devs there (https://community.tt-rss.org/t/dolphin-emu-atom-feed-fails/3927) this is due to a misconfiguration on your end.

Transfer closes with '18 transfer closed with 785344 bytes remaining to read'.

Reproducible with curl https://dolphin-emu.org/blog/feeds/

lllusion3418 commented 4 years ago

A few more details:

These work:

These don't work:

curl verbose output ``` $ curl -v 'https://dolphin-emu.org/blog/feeds/' * Trying 2a00:b6e0:1:20:4::1:443... * Connected to dolphin-emu.org (2a00:b6e0:1:20:4::1) port 443 (#0) * ALPN, offering h2 * ALPN, offering http/1.1 * successfully set certificate verify locations: * CAfile: /etc/ssl/certs/ca-certificates.crt CApath: none * TLSv1.3 (OUT), TLS handshake, Client hello (1): * TLSv1.3 (IN), TLS handshake, Server hello (2): * TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8): * TLSv1.3 (IN), TLS handshake, Certificate (11): * TLSv1.3 (IN), TLS handshake, CERT verify (15): * TLSv1.3 (IN), TLS handshake, Finished (20): * TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1): * TLSv1.3 (OUT), TLS handshake, Finished (20): * SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384 * ALPN, server did not agree to a protocol * Server certificate: * subject: CN=dolphin-emu.org * start date: Aug 13 06:40:47 2020 GMT * expire date: Nov 11 06:40:47 2020 GMT * subjectAltName: host "dolphin-emu.org" matched cert's "dolphin-emu.org" * issuer: C=US; O=Let's Encrypt; CN=Let's Encrypt Authority X3 * SSL certificate verify ok. > GET /blog/feeds/ HTTP/1.1 > Host: dolphin-emu.org > User-Agent: curl/7.72.0 > Accept: */* > * TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): * TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): * old SSL session ID is stale, removing * Mark bundle as not supporting multiuse < HTTP/1.1 200 OK < Content-Type: application/atom+xml; charset=utf-8 < Content-Language: en-us < X-Frame-Options: SAMEORIGIN < Cache-Control: public, max-age=300 < Date: Sat, 03 Oct 2020 20:43:24 GMT < ETag: "7c3adfdcb45cc40bc1c28b5da036d130" < Expires: Sat, 03 Oct 2020 20:22:46 GMT < Vary: Accept-Language < Last-Modified: Thu, 01 Oct 2020 05:15:45 GMT < Via: 1.1 alproxy, 1.1 alproxy < Content-Length: 0 < Age: 284 < * Connection #0 to host dolphin-emu.org left intact ```
edit 2: another curl verbose output (with content-length > 0) ``` * Trying 2a00:b6e0:1:20:4::1:443... * Connected to dolphin-emu.org (2a00:b6e0:1:20:4::1) port 443 (#0) * ALPN, offering h2 * ALPN, offering http/1.1 * successfully set certificate verify locations: * CAfile: /etc/ssl/certs/ca-certificates.crt CApath: none * TLSv1.3 (OUT), TLS handshake, Client hello (1): * TLSv1.3 (IN), TLS handshake, Server hello (2): * TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8): * TLSv1.3 (IN), TLS handshake, Certificate (11): * TLSv1.3 (IN), TLS handshake, CERT verify (15): * TLSv1.3 (IN), TLS handshake, Finished (20): * TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1): * TLSv1.3 (OUT), TLS handshake, Finished (20): * SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384 * ALPN, server did not agree to a protocol * Server certificate: * subject: CN=dolphin-emu.org * start date: Aug 13 06:40:47 2020 GMT * expire date: Nov 11 06:40:47 2020 GMT * subjectAltName: host "dolphin-emu.org" matched cert's "dolphin-emu.org" * issuer: C=US; O=Let's Encrypt; CN=Let's Encrypt Authority X3 * SSL certificate verify ok. > GET /blog/feeds/ HTTP/1.1 > Host: dolphin-emu.org > User-Agent: curl/7.72.0 > Accept: */* > * TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): * TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): * old SSL session ID is stale, removing * Mark bundle as not supporting multiuse < HTTP/1.1 200 OK < Content-Type: application/atom+xml; charset=utf-8 < Content-Language: en-us < X-Frame-Options: SAMEORIGIN < Content-Length: 785344 < Cache-Control: public, max-age=300 < Date: Sat, 03 Oct 2020 21:03:43 GMT < ETag: "7c3adfdcb45cc40bc1c28b5da036d130" < Expires: Sat, 03 Oct 2020 20:22:46 GMT < Vary: Accept-Language < Last-Modified: Thu, 01 Oct 2020 05:15:45 GMT < Via: 1.1 alproxy, 1.1 alproxy < Age: 292 < * transfer closed with 785344 bytes remaining to read * Closing connection 0 * TLSv1.3 (OUT), TLS alert, close notify (256): curl: (18) transfer closed with 785344 bytes remaining to read ```

It's most likely to do with the locale system but I wasn't able to reproduce it after installing the website code on my system.

Edit: above Content-Length is 0 but I have the output of an another request saved where it's 785344:

curl verbose output ``` $ curl -v 'https://dolphin-emu.org/blog/feeds/' * Trying 2a00:b6e0:1:20:4::1:443... * Connected to dolphin-emu.org (2a00:b6e0:1:20:4::1) port 443 (#0) * ALPN, offering h2 * ALPN, offering http/1.1 * successfully set certificate verify locations: * CAfile: /etc/ssl/certs/ca-certificates.crt CApath: none * TLSv1.3 (OUT), TLS handshake, Client hello (1): * TLSv1.3 (IN), TLS handshake, Server hello (2): * TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8): * TLSv1.3 (IN), TLS handshake, Certificate (11): * TLSv1.3 (IN), TLS handshake, CERT verify (15): * TLSv1.3 (IN), TLS handshake, Finished (20): * TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1): * TLSv1.3 (OUT), TLS handshake, Finished (20): * SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384 * ALPN, server did not agree to a protocol * Server certificate: * subject: CN=dolphin-emu.org * start date: Aug 13 06:40:47 2020 GMT * expire date: Nov 11 06:40:47 2020 GMT * subjectAltName: host "dolphin-emu.org" matched cert's "dolphin-emu.org" * issuer: C=US; O=Let's Encrypt; CN=Let's Encrypt Authority X3 * SSL certificate verify ok. > GET /blog/feeds/ HTTP/1.1 > Host: dolphin-emu.org > User-Agent: curl/7.72.0 > Accept: */* > Cookie: no_country_redirect=1 > * TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): * TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): * old SSL session ID is stale, removing * Mark bundle as not supporting multiuse < HTTP/1.1 200 OK < Content-Type: application/atom+xml; charset=utf-8 < Content-Language: en-us < X-Frame-Options: SAMEORIGIN < Content-Length: 785344 < Cache-Control: public, max-age=300 < Date: Sat, 03 Oct 2020 17:17:01 GMT < ETag: "7c3adfdcb45cc40bc1c28b5da036d130" < Expires: Sat, 03 Oct 2020 13:41:06 GMT < Vary: Accept-Language < Last-Modified: Thu, 01 Oct 2020 05:15:45 GMT < Via: 1.1 alproxy, 1.1 alproxy < Age: 343 < ```
LiamDawe commented 4 years ago

Also came here to ask about this, confirming it fails for me too.

Ran it through the feed checker: https://validator.w3.org/feed/ and it shows it's not valid at https://dolphin-emu.org/blog/feeds/

ambroisie commented 3 years ago

I am also experiencing issues with this feed, see miniflux/v2#1026.

Dentomologist commented 3 years ago

I'm unable to reproduce this, and the last comment from the miniflux issue report also says it's working now.

leoetlino commented 3 years ago

Yes, the issue has been worked around since April 25th:

[2021-04-25 01:36:29] <delroth> so I think I know what the issue is, I'm going to disable caching for now
[2021-04-25 01:36:49] <delroth> I think the caching proxy in front of the website is caching the response to HEAD requests
[2021-04-25 01:44:28] <delroth> caching now disabled until I've got confirmation that the root cause is fixed
LiamDawe commented 3 years ago

Yeah it's been fine in Liferea for me now, still not entirely valid but it does work.