Alguns sites são bloqueados do oneboxing

Tive um problema com a prévia do onebox desde a atualização de 4 de maio. Nem todos os hiperlinks conseguem criar a caixa de prévia com sucesso.

No entanto, esses hiperlinks funcionam perfeitamente no meta até hoje, quando finalmente encontrei um hiperlink com problema semelhante* no meta.
*erro de código diferente

Por favor, oriente. Obrigado pela ajuda.

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

1 curtida

Tentei Oneboxar esse link no meu fórum e obtive o mesmo resultado.
Notei isso imediatamente ao verificar o link. Ele retornou duas exceções. Por isso, o link não pode ser Oneboxado. É por isso que você/nós recebemos essa mensagem no Onebox.

1 curtida

@jamie.wilson tem investigado problemas com oneboxes de médio porte; temos uma correção em andamento.

4 curtidas

Sim, isso parece ser o mesmo problema que gera um erro 500. Já tratamos disso, @jamie.wilson?

3 curtidas

O link fornecido por @SkyLin está gerando um Onebox novamente:

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

Parece que o Medium fez algumas alterações em sua plataforma que revelaram algumas limitações na forma como geramos os Oneboxes. Esses problemas foram resolvidos do nosso lado e já foram mesclados, tornando o Oneboxing mais robusto em geral (e não apenas para o Medium).

4 curtidas

Este problema foi resolvido após a atualização. Muito obrigado!

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

Mas meu problema original* ainda existe. Há alguma ação adicional que eu possa tomar para resolver isso? Obrigado novamente.

*Onebox funciona bem no meta, mas falha no meu site para a mesma URL:

1 curtida

Acabei de testar os 3 links que você enviou: o do Medium e os 2 do Udemy, tanto no meu site quanto aqui no Meta. Os 3 foram Oneboxed corretamente no meu site e aqui no Meta.

2 curtidas

Obrigado pela informação útil.

Tentei o método mencionado em Amazon onebox fails on my site, but works here e obtive um erro 403 ao acessar udemy como código de resposta. Até clonei um site com um backup antigo e ele apresenta o mesmo problema. Fiquei pensando se outro motivo possa estar causando o problema, como alguma configuração?

Por favor, oriente. Obrigado pela ajuda.

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 curtida

De onde veio isso? 1970? Isso foi há mais de 50 anos.

2 curtidas

Vem da resposta deste comando:

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

1 curtida

E aqui vem a resposta da Amazon com o código de erro 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*   Tentando 162.219.225.118:443...
* TCP_NODELAY definido
* Conectado a www.amazon.com (162.219.225.118) porta 443 (#0)
* ALPN, oferecendo h2
* ALPN, oferecendo http/1.1
* locais de verificação de certificado definidos com sucesso:
*   CAfile: /etc/ssl/certs/ca-certificates.crt
  CApath: /etc/ssl/certs
} [5 bytes de dados]
* TLSv1.3 (SAÍDA), aperto de mão TLS, Client hello (1):
} [512 bytes de dados]
* TLSv1.3 (ENTRADA), aperto de mão TLS, Server hello (2):
{ [122 bytes de dados]
* TLSv1.3 (ENTRADA), aperto de mão TLS, Extensões Criptografadas (8):
{ [19 bytes de dados]
* TLSv1.3 (ENTRADA), aperto de mão TLS, Certificado (11):
{ [4447 bytes de dados]
* TLSv1.3 (ENTRADA), aperto de mão TLS, CERT verify (15):
{ [264 bytes de dados]
* TLSv1.3 (ENTRADA), aperto de mão TLS, Finished (20):
{ [52 bytes de dados]
* TLSv1.3 (SAÍDA), TLS change cipher, Change cipher spec (1):
} [1 byte de dados]
* TLSv1.3 (SAÍDA), aperto de mão TLS, Finished (20):
} [52 bytes de dados]
* Conexão SSL usando TLSv1.3 / TLS_AES_256_GCM_SHA384
* ALPN, servidor aceitou usar h2
* Certificado do servidor:
*  subject: CN=www.amazon.com
*  data de início: Apr 26 00:00:00 2021 GMT
*  data de expiração: Apr 25 23:59:59 2022 GMT
*  subjectAltName: host "www.amazon.com" correspondeu ao "www.amazon.com" do certificado
*  emissor: C=US; O=DigiCert Inc; CN=DigiCert Global CA G2
*  Verificação do certificado SSL OK.
* Usando HTTP2, o servidor suporta multi-uso
* Estado da conexão alterado (HTTP/2 confirmado)
* Copiando dados HTTP/2 no buffer de stream para o buffer de conexão após atualização: len=0
} [5 bytes de dados]
* Usando Stream ID: 1 (easy handle 0x55993f5fae10)
} [5 bytes de dados]
> GET /Deep-Learning-Python-Francois-Chollet/dp/1617294438 HTTP/2
> Host: www.amazon.com
> user-agent: curl/7.68.0
> accept: */*
>
{ [5 bytes de dados]
* TLSv1.3 (ENTRADA), aperto de mão TLS, Newsession Ticket (4):
{ [177 bytes de dados]
* Estado da conexão alterado (MAX_CONCURRENT_STREAMS == 100)!
} [5 bytes de dados]
  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 de dados]
100  2671  100  2671    0     0   3604      0 --:--:-- --:--:-- --:--:--  3599
* Conexão #0 para o host www.amazon.com deixada intacta
root@localhost:~#

E mais uma coisa: a prévia onebox para a Amazon está OK agora após o código de atualização de Jamie. A prévia antes da atualização, consulte esta imagem.

1 curtida

Bom trabalho com o link da Amazon. Os links da Udemy estão funcionando agora ou você ainda está recebendo erro 403 neles? Eu ainda não tenho nenhum problema em Oneboxá-los.

1 curtida

Obrigado novamente.

Todos os hiperlinks do Udemy falharam no meu site.

Acabei de testar em outro fórum baseado no Discourse e encontrei o mesmo erro 403.

site do fórum: https://forum.quantifiedself.com/

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

teste 2: NG com erro 500. Acredito que este site ainda não foi atualizado para a versão mais recente.
Medium https://medium.com/swlh/5-free-python-courses-for-beginners-to-learn-online-e1ca90687caf

teste 3: NG, o mesmo erro 403, exatamente igual ao meu.
udemy https://www.udemy.com/course/certified-kubernetes-application-developer/

1 curtida

Testei todos os sites baseados em Discourse que conheço; os resultados estão abaixo:

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
localização* Tóquio Califórnia Califórnia Califórnia Califórnia Paris Califórnia Inglaterra
Irlanda Virgínia Chicago
África Alasca
*testado com 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 curtidas

Você tem sorte, o único que funciona é o amazon.com.
Com todos os outros sites da Amazon, a prévia do onebox não funciona.

2 curtidas

Os sites que você está testando podem estar bloqueando o user agent do curl. O processo de Oneboxing utilizará o user agent de um navegador real, dependendo da URL que você está tentando Onebox. No momento, o user agent utilizado nesses casos é:

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

Tente executar seus testes com curl usando a flag -A. Por exemplo:

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

Qual é o resultado desse comando no seu ambiente?

Se ainda estiver falhando:

  1. Você tem executado um número anormalmente alto de solicitações de Oneboxing contra esses sites? É possível que tenha sido temporariamente bloqueado pelos sites em questão e que as coisas comecem a funcionar após aguardar um período adequado (isso depende dos operadores do site e, infelizmente, não há nada que possamos fazer do nosso lado).

  2. Onde seu servidor está localizado? Você tem acesso a uma máquina em uma localização diferente para executar testes? Mesmo testando a partir de sua máquina pessoal em vez do servidor de produção pode resultar em diferentes resultados.

4 curtidas

Obrigado pelo conselho.

O código de retorno continua sendo 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

Sim, eu fiz. Mas o site clonado não publicou nenhum conteúdo há mais de 20 dias e tem o mesmo problema.

Além disso, com base na tabela de testes que mencionei ontem, o site 2 e o site 7 apresentam o mesmo problema, e acredito que seja a primeira postagem relacionada à Udemy nesses sites.

Meu servidor está localizado no Japão. Posso mover o site clonado para outra área, como os EUA, para testes ainda hoje, e atualizarei novamente depois.

Atualização:

  1. Após 11 horas, continua sendo o mesmo erro 403 após mover o site de teste clonado de Tóquio para a Califórnia. Vou mover para a Europa para testes mais tarde e atualizarei novamente amanhã.
  2. O mesmo código de erro 403 em Londres.

Obrigado novamente.

2 curtidas

Fiz um pouco mais de testes do meu lado.

Consegui fazer curl com sucesso na URL da Udemy a partir do meu provedor de internet residencial (América do Norte) e também de uma máquina hospedada em um datacenter sofisticado (América do Norte).

A tentativa de fazer isso a partir de um provedor de hospedagem popular (América do Norte) falha. A tentativa de fazer isso a partir de um provedor de hospedagem popular diferente (Europa) também falha.

Quando falha, o corpo de conteúdo que é retornado para mim é:

código de erro: 1020

o que está vindo de:

Esta postagem da Cloudflare explica o que significa o erro 1020 deles e o que você pode fazer para tentar resolvê-lo:

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

5 curtidas

Atualmente na versão 2.7.0.beta8, caso isso ajude de alguma forma.

2 curtidas

A nova build resolveu esse problema; a prévia do onebox do Udemy voltou a aparecer. Não tenho certeza de qual parte foi corrigida.

3 curtidas