Certains sites sont bloqués pour le oneboxing

J’ai rencontré un problème d’aperçu onebox depuis la mise à jour du 4 mai. Tous les hyperliens ne parviennent pas à générer correctement la boîte d’aperçu.

Cependant, ces hyperliens fonctionnent tous parfaitement sur Meta jusqu’à aujourd’hui. Finalement, j’ai trouvé un hyperlien présentant un problème similaire* sur Meta.
*code d’erreur différent

Veuillez me conseiller. Merci pour votre aide.

https://medium.com/swlh/5-free-python-courses-for-beginners-to-learn-online-e1ca90687caf

1 « J'aime »

J’ai essayé de Oneboxer ce lien sur mon forum et j’ai obtenu le même résultat.
J’ai remarqué cela dès que j’ai consulté ce lien. Il a renvoyé deux exceptions. Le lien ne peut pas être Oneboxé à cause de cela. C’est pourquoi vous/nous avons reçu ce message dans le Onebox.

1 « J'aime »

@jamie.wilson enquête sur les problèmes liés aux oneboxes de taille moyenne. Une solution est en cours de déploiement.

4 « J'aime »

Oui, cela semble être le même problème qui génère une erreur 500. Avons-nous résolu cela @jamie.wilson ?

3 « J'aime »

Le lien fourni par @SkyLin provoque à nouveau un Oneboxing :

https://medium.com/swlh/5-free-python-courses-for-beginners-to-learn-online-e1ca90687caf

Il semble que Medium ait apporté certaines modifications de leur côté, révélant ainsi certaines lacunes dans notre génération de Oneboxes. Ces problèmes ont désormais été résolus de notre côté et intégrés, rendant le Oneboxing plus robuste en général (et pas seulement pour Medium).

4 « J'aime »

Ce problème a été résolu après la mise à jour. Merci beaucoup !

Comparing bbb44698...a24b6daa · discourse/discourse · GitHub

Mais mon problème initial* persiste toujours. Y a-t-il une autre action que je puisse entreprendre pour régler cela ? Merci encore.

*Onebox fonctionne bien sur meta mais échoue sur mon site pour la même URL :

1 « J'aime »

Je viens de tester les 3 liens que vous avez partagés : celui pour Medium et les deux pour Udemy, sur mon site et ici sur Meta. Les 3 ont été correctement Oneboxés sur mon site et ici sur Meta.

2 « J'aime »

Merci pour ces informations aimables.

J’ai essayé la méthode mentionnée sur Amazon onebox échoue sur mon site, mais fonctionne ici et j’ai obtenu un code de retour 403 pour udemy. J’ai même cloné un site à partir d’une ancienne sauvegarde et le problème est le même. Je me demande si une autre raison, comme une configuration, pourrait être à l’origine de ce problème.

Veuillez me conseiller. Merci pour votre aide.

root@localhost:~# curl https://www.udemy.com/course/certified-kubernetes-application-developer/ -o deleteme.html --verbose
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:-- 0* Trying 2606:4700::6810:4255:443... * TCP_NODELAY set
  0     0    0     0    0     0      0      0 --:--:--  0:00:01 --:--:--  0* Connected to www.udemy.com (2606:4700::6810:4255) port 443  (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*   CAfile: /etc/ssl/certs/ca-certificates.crt
  CApath: /etc/ssl/certs
} [5 bytes data]
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
} [512 bytes data]
* TLSv1.3 (IN), TLS handshake, Server hello (2):
{ [122 bytes data]
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
{ [19 bytes data]
* TLSv1.3 (IN), TLS handshake, Certificate (11):
{ [3726 bytes data]
* TLSv1.3 (IN), TLS handshake, CERT verify (15):
{ [264 bytes data]
* TLSv1.3 (IN), TLS handshake, Finished (20):
{ [52 bytes data]
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
} [1 bytes data]
* TLSv1.3 (OUT), TLS handshake, Finished (20):
} [52 bytes data]
* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384
* ALPN, server accepted to use h2
* Server certificate:
*  subject: C=US; ST=California; L=San Francisco; O=Udemy, Inc.; CN=*.udemy.com
*  start date: Sep 10 15:45:40 2020 GMT
*  expire date: Oct 12 15:45:40 2021 GMT
*  subjectAltName: host "www.udemy.com" matched cert's "*.udemy.com"
*  issuer: C=BE; O=GlobalSign nv-sa; CN=GlobalSign RSA OV SSL CA 2018
*  SSL certificate verify ok.
* Using HTTP2, server supports multi-use
* Connection state changed (HTTP/2 confirmed)
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
} [5 bytes data]
* Using Stream ID: 1 (easy handle 0x55ba70848e10)
} [5 bytes data]
> GET /course/certified-kubernetes-application-developer/ HTTP/2
> Host: www.udemy.com
> user-agent: curl/7.68.0
> accept: */*
>
{ [5 bytes data]
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
{ [230 bytes data]
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
{ [230 bytes data]
* old SSL session ID is stale, removing
{ [5 bytes data]
* Connection state changed (MAX_CONCURRENT_STREAMS == 256)!
} [5 bytes data]
< HTTP/2 403
< date: Sat, 15 May 2021 09:15:50 GMT
< content-type: text/plain; charset=UTF-8
< content-length: 16
< x-frame-options: SAMEORIGIN
< cache-control: private, max-age=0, no-store, no-cache, must-revalidate, post-c                                                                             heck=0, pre-check=0
< expires: Thu, 01 Jan 1970 00:00:01 GMT
< cf-request-id: 0a10e892d400000ac0a696a000000001
< expect-ct: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-c                                                                             gi/beacon/expect-ct"
< set-cookie: __cf_bm=b04492251e1a16bfdad619155f03441f5707d134-1621070150-1800-AS6cROKp+jLfN9ubIJem+TuX5dANVYbshBzqeRTZhheBx6lOtfM8RPRDSGDLEObLD8tWwjbrp+D5Sh4RcCTXGNw=; path=/; expires=Sat, 15-May-21 09:45:50 GMT; domain=.udemy.com; HttpOnly; Secure; SameSite=None
< x-content-type-options: nosniff
< server: cloudflare
< cf-ray: 64fb4397bea70ac0-NRT
<
{ [16 bytes data]
100    16  100    16    0     0     10      0  0:00:01  0:00:01 --:--:--    10
* Connection #0 to host www.udemy.com left intact

1 « J'aime »

D’où vient cela ? 1970 ? C’est plus de 50 ans en arrière.

2 « J'aime »

Provenant de la réponse de cette commande :

curl https://www.udemy.com/course/certified-kubernetes-application-developer/ -o deleteme.html --verbose

1 « J'aime »

Et voici la réponse d’Amazon avec le code d’erreur 503.

root@localhost:~# curl https://www.amazon.com/Deep-Learning-Python-Francois-Chollet/dp/1617294438 -o deleteme.html --verbose
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0*   Trying 162.219.225.118:443...
* TCP_NODELAY set
* Connected to www.amazon.com (162.219.225.118) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*   CAfile: /etc/ssl/certs/ca-certificates.crt
  CApath: /etc/ssl/certs
} [5 bytes data]
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
} [512 bytes data]
* TLSv1.3 (IN), TLS handshake, Server hello (2):
{ [122 bytes data]
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
{ [19 bytes data]
* TLSv1.3 (IN), TLS handshake, Certificate (11):
{ [4447 bytes data]
* TLSv1.3 (IN), TLS handshake, CERT verify (15):
{ [264 bytes data]
* TLSv1.3 (IN), TLS handshake, Finished (20):
{ [52 bytes data]
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
} [1 bytes data]
* TLSv1.3 (OUT), TLS handshake, Finished (20):
} [52 bytes data]
* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384
* ALPN, server accepted to use h2
* Server certificate:
*  subject: CN=www.amazon.com
*  start date: Apr 26 00:00:00 2021 GMT
*  expire date: Apr 25 23:59:59 2022 GMT
*  subjectAltName: host "www.amazon.com" matched cert's "www.amazon.com"
*  issuer: C=US; O=DigiCert Inc; CN=DigiCert Global CA G2
*  SSL certificate verify ok.
* Using HTTP2, server supports multi-use
* Connection state changed (HTTP/2 confirmed)
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
} [5 bytes data]
* Using Stream ID: 1 (easy handle 0x55993f5fae10)
} [5 bytes data]
> GET /Deep-Learning-Python-Francois-Chollet/dp/1617294438 HTTP/2
> Host: www.amazon.com
> user-agent: curl/7.68.0
> accept: */*
>
{ [5 bytes data]
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
{ [177 bytes data]
* Connection state changed (MAX_CONCURRENT_STREAMS == 100)!
} [5 bytes data]
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
< HTTP/2 503
< server: Server
< date: Mon, 17 May 2021 01:37:18 GMT
< content-type: text/html
< strict-transport-security: max-age=47474747; includeSubDomains; preload
< x-amz-rid: 72RYS75V0EMTMX4RK38T
< vary: Content-Type,Accept-Encoding,X-Amzn-CDN-Cache,X-Amzn-AX-Treatment,User-Agent
< last-modified: Wed, 30 Sep 2020 23:54:00 GMT
< etag: "a6f-5b0909d09d600"
< accept-ranges: bytes
< content-length: 2671
<
{ [1139 bytes data]
100  2671  100  2671    0     0   3604      0 --:--:-- --:--:-- --:--:--  3599
* Connection #0 to host www.amazon.com left intact
root@localhost:~#

D’ailleurs, l’aperçu onebox pour Amazon fonctionne désormais après la mise à jour du code par Jamie. Pour l’aperçu avant la mise à jour, veuillez consulter cette image.

1 « J'aime »

Bien pour le lien Amazon. Les liens Udemy fonctionnent-ils maintenant ou obtenez-vous toujours une erreur 403 sur ceux-ci ? Je n’ai toujours aucun problème à les Oneboxer.

1 « J'aime »

Merci encore.

Tous les hyperliens Udemy ont échoué sur mon site.

Je viens de tester un autre forum basé sur Discourse et j’ai trouvé le même code d’erreur 403.

Site du forum : https://forum.quantifiedself.com/

Test 1 : OK
Amazon https://www.amazon.com/Deep-Learning-Python-Francois-Chollet/dp/1617294438

Test 2 : Échec avec le code d’erreur 500. Je suppose que ce site n’a pas encore été mis à jour vers la dernière version.
Medium https://medium.com/swlh/5-free-python-courses-for-beginners-to-learn-online-e1ca90687caf

Test 3 : Échec, le même code d’erreur 403, exactement comme dans mon cas.
Udemy https://www.udemy.com/course/certified-kubernetes-application-developer/

1 « J'aime »

J’ai testé tous les sites basés sur Discourse que je connais, les résultats sont ci-dessous :

onebox site 1 site 2 site 3 site 4 site 5 site 6 site 7 site 8
Amazon OK OK OK OK OK OK OK OK
medium OK NG OK NG NG OK NG NG
udemy NG NG OK OK OK OK NG OK
emplacement* Tokyo Californie Californie Californie Californie Paris Californie Angleterre
Irlande Virginie Chicago
Afrique Alaska
*testé avec Check host

site 1. https://vip.studycamp.tw/
site 2. https://forum.quantifiedself.com/
site 3. https://discussions.udacity.com/
site 4. https://forum.uipath.com/
site 5. https://forums.envato.com/
site 6. https://rideabl.es/
site 7. https://blenderartists.org/
site 8. https://se23.life/

4 « J'aime »

Vous avez de la chance, seul amazon.com fonctionne.
Avec tous les autres sites Amazon, l’aperçu Onebox ne fonctionne pas.

2 « J'aime »

Les sites que vous testez peuvent bloquer l’agent utilisateur de curl. Le processus Oneboxing utilisera l’agent utilisateur d’un véritable navigateur, en fonction de l’URL que vous essayez de Onebox. Pour le moment, l’agent utilisateur utilisé dans ces cas est :

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0 Safari/605.1.15

Essayez d’exécuter vos tests curl avec le drapeau -A. Par exemple :

curl -A "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0 Safari/605.1.15" https://www.udemy.com/course/certified-kubernetes-application-developer/ -o deleteme.html --verbose

Quel est le résultat de cette commande de votre côté ?

Si cela échoue toujours :

  1. Avez-vous exécuté un nombre anormalement élevé de requêtes Oneboxing contre ces sites ? Il se peut que vous ayez été temporairement bloqué par les sites concernés et que les choses commencent à fonctionner après avoir attendu une période appropriée (cela dépend des opérateurs du site, et malheureusement, nous ne pouvons rien faire à ce sujet de notre côté).

  2. Où se trouve votre serveur ? Avez-vous accès à une machine dans un emplacement différent depuis laquelle vous pouvez exécuter des tests ? Même tester depuis votre machine personnelle plutôt que depuis votre serveur de production peut vous donner des résultats différents.

4 « J'aime »

Merci pour vos conseils.

Le code de retour est toujours 403 :

root@localhost:~# curl -A "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0 Safari/605.1.15" https://www.udemy.com/course/certified-kubernetes-application-developer/ -o deleteme.html --verbose
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0*   Trying 2606:4700::6810:4155:443...
* TCP_NODELAY set
  0     0    0     0    0     0      0      0 --:--:--  0:00:01 --:--:--     0* Connected to www.udemy.com (2606:4700::6810:4155) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*   CAfile: /etc/ssl/certs/ca-certificates.crt
  CApath: /etc/ssl/certs
} [5 bytes data]
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
} [512 bytes data]
* TLSv1.3 (IN), TLS handshake, Server hello (2):
{ [122 bytes data]
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
{ [19 bytes data]
* TLSv1.3 (IN), TLS handshake, Certificate (11):
{ [3726 bytes data]
* TLSv1.3 (IN), TLS handshake, CERT verify (15):
{ [264 bytes data]
* TLSv1.3 (IN), TLS handshake, Finished (20):
{ [52 bytes data]
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
} [1 bytes data]
* TLSv1.3 (OUT), TLS handshake, Finished (20):
} [52 bytes data]
* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384
* ALPN, server accepted to use h2
* Server certificate:
*  subject: C=US; ST=California; L=San Francisco; O=Udemy, Inc.; CN=*.udemy.com
*  start date: Sep 10 15:45:40 2020 GMT
*  expire date: Oct 12 15:45:40 2021 GMT
*  subjectAltName: host "www.udemy.com" matched cert's "*.udemy.com"
*  issuer: C=BE; O=GlobalSign nv-sa; CN=GlobalSign RSA OV SSL CA 2018
*  SSL certificate verify ok.
* Using HTTP2, server supports multi-use
* Connection state changed (HTTP/2 confirmed)
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
} [5 bytes data]
* Using Stream ID: 1 (easy handle 0x5591c76d8e10)
} [5 bytes data]
> GET /course/certified-kubernetes-application-developer/ HTTP/2
> Host: www.udemy.com
> user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0 Safari/605.1.15
> accept: */*
>
{ [5 bytes data]
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
{ [230 bytes data]
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
{ [230 bytes data]
* old SSL session ID is stale, removing
{ [5 bytes data]
* Connection state changed (MAX_CONCURRENT_STREAMS == 256)!
} [5 bytes data]
< HTTP/2 403
< date: Mon, 17 May 2021 23:59:37 GMT
< content-type: text/plain; charset=UTF-8
< content-length: 16
< x-frame-options: SAMEORIGIN
< cache-control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0
< expires: Thu, 01 Jan 1970 00:00:01 GMT
< cf-request-id: 0a1e5e6b920000952193363000000001
< expect-ct: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
< set-cookie: __cf_bm=3224e014d6b0b4eca1cf8a59c6c180928b2ffa0f-1621295977-1800-AU4UK/k3sl61kbMPYizcsl1TI7NAHkvE1mfjoKIPdrvGAJJeYUF8e72hQljXNwVTO+BcqfsAXxoiQDEy1cL+aVA=; path=/; expires=Tue, 18-May-21 00:29:37 GMT; domain=.udemy.com; HttpOnly; Secure; SameSite=None
< x-content-type-options: nosniff
< server: cloudflare
< cf-ray: 6510ccf28d0a9521-NRT
<
{ [16 bytes data]
100    16  100    16    0     0     10      0  0:00:01  0:00:01 --:--:--    10
* Connection #0 to host www.udemy.com left intact

Oui, c’est le cas. Mais le site clone n’a publié aucun contenu depuis plus de 20 jours et il rencontre le même problème.

De plus, selon le tableau de test que j’ai mentionné hier, le site 2 et le site 7 présentent le même problème, et je pense qu’il s’agit de la première publication liée à Udemy sur ces sites.

Mon serveur est situé au Japon. Je peux déplacer le site clone vers une autre région, comme les États-Unis, pour des tests plus tard aujourd’hui, et je mettrai à jour ensuite.

Mise à jour :

  1. Après 11 heures, le code 403 persiste après avoir déplacé le site de test cloné de Tokyo à la Californie. Je le déplacerai vers l’Europe pour des tests plus tard et je mettrai à nouveau à jour demain.
  2. Le même code d’erreur 403 à Londres.

Merci encore.

2 « J'aime »

J’ai effectué quelques tests supplémentaires de mon côté.

Je peux curl avec succès l’URL d’Udemy depuis mon FAI résidentiel (Amérique du Nord) et également depuis une machine hébergée dans un centre de données de premier plan (Amérique du Nord).

Tenter de le faire depuis un fournisseur d’hébergement populaire (Amérique du Nord) échoue. Tenter de le faire depuis un autre fournisseur d’hébergement populaire (Europe) échoue également.

Lorsque cela échoue, le corps du contenu qui m’est renvoyé est :

error code: 1020

ce qui provient de :

Ce post de Cloudflare explique ce que signifie leur erreur 1020 et ce que vous pouvez faire pour tenter de la résoudre :

https://community.cloudflare.com/t/community-tip-fixing-error-1020-access-denied/66439

5 « J'aime »

Actuellement en version 2.7.0.beta8, si cela peut aider.

2 « J'aime »

La nouvelle version résout ce problème : l’aperçu onebox d’Udemy réapparaît. Je ne sais pas quelle partie a corrigé cela.

3 « J'aime »