Algunos sitios están bloqueados para oneboxing

Tuve un problema con la vista previa de onebox desde la actualización del 4 de mayo. No todos los hipervínculos pueden crear correctamente la caja de vista previa.

Sin embargo, esos hipervínculos funcionaban bien en Meta hasta hoy, cuando finalmente encontré un hipervínculo con un problema similar* en Meta.
*código de error diferente

Por favor, aconseja. Gracias por la ayuda.

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

1 me gusta

Intenté Oneboxear ese enlace en mi foro y obtuve el mismo resultado.
Lo noté de inmediato al revisar ese enlace. Devolvió dos excepciones. Por eso, el enlace no puede ser Oneboxeado. Esa es la razón por la que tú/nosotros recibimos ese mensaje en el Onebox.

1 me gusta

@jamie.wilson ha estado investigando problemas con los oneboxes de tamaño mediano; tenemos una solución en proceso.

4 Me gusta

Sí, esto parece ser el mismo problema que genera un error 500. ¿Ya lo solucionamos, @jamie.wilson?

3 Me gusta

El enlace proporcionado por @SkyLin genera una Onebox nuevamente:

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

Parece que Medium realizó algunos cambios de su parte que revelaron ciertas deficiencias en la forma en que generamos las Oneboxes. Esos problemas ya han sido resueltos de nuestro lado e integrados, lo que hace que las Oneboxes sean más robustas en general (y no solo para Medium).

4 Me gusta

Este problema se resolvió tras la actualización. ¡Muchas gracias!

Sin embargo, mi problema original* aún persiste. ¿Hay alguna otra acción que pueda tomar para solucionarlo? Gracias de nuevo.

*Onebox funciona bien en meta, pero falla en mi sitio con la misma URL:

1 me gusta

Acabo de probar los 3 enlaces que compartiste: el de Medium y los dos de Udemy, tanto en mi sitio como aquí en Meta. Los tres se mostraron correctamente como Onebox en mi sitio y aquí en Meta.

2 Me gusta

Gracias por la información amable.

Probé el método mencionado en Amazon onebox fails on my site, but works here y obtuve un código de respuesta 403 en Udemy. Incluso cloné un sitio con una copia de seguridad antigua y presenta el mismo problema. Me pregunto si hay otra causa del problema, como una configuración.

Por favor, aconseja. Gracias por la ayuda.

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 me gusta

¿De dónde salió eso? ¿1970? Eso fue hace más de 50 años.

2 Me gusta

Proviene de la respuesta de este comando:

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

1 me gusta

Y aquí llega la respuesta de Amazon con el código de error 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:~#

Y una cosa más: la vista previa de onebox para Amazon ahora funciona correctamente tras la actualización del código de Jamie. Para ver la vista previa antes de la actualización, consulta esta imagen.

1 me gusta

Bien por el enlace de Amazon. ¿Los enlaces de Udemy funcionan ahora o sigues obteniendo un error 403 en ellos? Yo sigo sin tener ningún problema al Oneboxearlos.

1 me gusta

Gracias de nuevo.

Todos los hipervínculos de Udemy fallaron en mi sitio.

Acabo de probar otro foro basado en Discourse y encontré el mismo código de error 403.

Sitio del foro: https://forum.quantifiedself.com/

Prueba 1: OK
Amazon Deep Learning with Python: Chollet, Francois: 9781617294433: Amazon.com: Books

Prueba 2: NG con código de error 500. Supongo que este sitio aún no se ha actualizado a la versión más reciente.
Medium https://medium.com/swlh/5-free-python-courses-for-beginners-to-learn-online-e1ca90687caf

Prueba 3: NG, el mismo código de error 403, exactamente igual que el mío.
Udemy https://www.udemy.com/course/certified-kubernetes-application-developer/

1 me gusta

He probado todos los sitios basados en Discourse que conozco; los resultados son los siguientes:

onebox sitio 1 sitio 2 sitio 3 sitio 4 sitio 5 sitio 6 sitio 7 sitio 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
ubicación* Tokio California California California California París California Inglaterra
Irlanda Virginia Chicago
África Alaska
*prueba con Check host

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

4 Me gusta

Tienes suerte, ya que el único que funciona es amazon.com. En todos los demás sitios de Amazon, la vista previa del onebox no funciona.

2 Me gusta

Los sitios que estás probando podrían estar bloqueando el agente de usuario de curl. El proceso de Oneboxing utilizará el agente de usuario de un navegador real, dependiendo de la URL que intentes Oneboxear. En este momento, el agente de usuario que se utiliza en estos casos es:

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

Intenta ejecutar tus pruebas de curl con la bandera -A. Por ejemplo:

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

¿Cuál es el resultado de ese comando en tu entorno?

Si sigue fallando:

  1. ¿Has estado ejecutando una cantidad inusualmente grande de solicitudes de Oneboxing contra estos sitios? Es posible que hayas sido bloqueado temporalmente por los sitios en cuestión y que las cosas comiencen a funcionar después de esperar un período de tiempo adecuado (esto depende de los operadores del sitio y, por desgracia, no podemos hacer nada al respecto desde nuestro lado).

  2. ¿Dónde está ubicado tu servidor? ¿Tienes acceso a una máquina en una ubicación diferente desde la que puedas ejecutar pruebas? Incluso probar desde tu máquina personal en lugar de tu servidor de producción podría darte resultados diferentes.

4 Me gusta

Gracias por el consejo.

El código de respuesta sigue siendo 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

Sí, lo hice. Pero el sitio clon no publicó ningún contenido en más de 20 días y tiene el mismo problema.

Además, según la tabla de pruebas que mencioné ayer, el sitio 2 y el sitio 7 tienen el mismo problema y creo que es la primera publicación relacionada con Udemy en estos sitios.

Mi servidor está ubicado en Japón. Puedo mover el sitio clon a otra zona, como EE. UU., para realizar pruebas más tarde hoy, y actualizaré nuevamente entonces.

Actualización:

  1. Después de 11 horas, sigue siendo el mismo error 403 tras mover el sitio de pruebas clonado de Tokio a California. Moveré el sitio a Europa para pruebas más tarde y actualizaré nuevamente mañana.
  2. El mismo código de error 403 en Londres.

Gracias de nuevo.

2 Me gusta

He realizado algunas pruebas adicionales por mi parte.

Puedo ejecutar curl con éxito en la URL de Udemy desde mi proveedor de servicios de Internet residencial (América del Norte) y también desde una máquina alojada en un centro de datos de primer nivel (América del Norte).

Sin embargo, el intento desde un proveedor de alojamiento popular (América del Norte) falla. También falla al intentarlo desde un proveedor de alojamiento diferente y popular (Europa).

Cuando falla, el cuerpo del contenido que se me devuelve es:

código de error: 1020

lo cual proviene de:

Esta publicación de Cloudflare explica qué significa su error 1020 y qué puedes hacer para intentar resolverlo:

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

5 Me gusta

Actualmente en la versión 2.7.0.beta8, por si eso ayuda en algo.

2 Me gusta

La nueva compilación soluciona este problema; la vista previa de la caja única de Udemy vuelve a mostrarse. No estoy seguro de qué parte lo arregló.

3 Me gusta