Canapin
(Coin-coin le Canapin)
41
IP が実際に禁止されているかどうかをどうやって確認できますか?
私は以下のように試みました:
しかし、動画は何の問題もなくダウンロードできました。
root@ubuntu-8gb-hel1-4:~# youtube-dl https://www.youtube.com/watch?v=Xl-PTTeRsik
[youtube] Xl-PTTeRsik: Downloading webpage
[youtube] Xl-PTTeRsik: Downloading MPD manifest
[download] Destination: Loading cargo into HTV-9 Konutori-Xl-PTTeRsik.mp4
[download] 100% of 11.41MiB in 00:01
もしかすると、私の問題は別の場所にあるのでしょうか?
Discourse が YouTube のリンクを onebox 化しようとした際に 404 エラーが発生します。
bletch
(Danny Goodall)
42
今はすぐに返信できる時間があまりありませんが、いくつかコメントします。
-
現在、すべての再バークジョブが Sidekiq を通過しましたか?https://yourforum/sidekiq に多くのジョブが表示されますか?もしそうなら、Onebox 処理に時間がかかっているだけかもしれません。
-
私が実施したこの診断を確認し、同じ手順を再現して結果を報告してください。
-
再バークの途中で YouTube があなたをブロックした場合、埋め込みリンクを含む投稿の処理状況がわからないため、再度再バークを行う必要があります。実際、私は YouTube の投稿を再フォーマットし、チャンク単位で再バークを行うユーティリティを作成しました。
-
残念ながら、Oneboxer はエラーメッセージを表示せずに失敗することが多く、原因を特定するのが難しいです。私は @merefield のプラグインをフォークして修正し、エラーメッセージをログに記録することで、429 エラーが発生していることを突き止めました。私のフォーク版を使用しても構いませんが、少しハック的な手法であり(今気づきましたが)、Roberts のバージョンから数コミック遅れています。
- もしレート制限(YouTube から 429 エラーが表示される)を受けている場合、@merefield の Onebox Assistant をインストールして有効化し、設定を変更せずに(すべての設定を空白のまま)使用することで成功しました。これは奇妙で通常は動作しないはずですが、実際に動作します。
私の投稿はこちらをご覧ください。
https://meta.discourse.org/t/onebox-assistant-crawl-for-those-previews-reliably/107405/35?u=bletch
そしてこちら
https://meta.discourse.org/t/onebox-assistant-crawl-for-those-previews-reliably/107405/36?u=bletch
- 最後に、embed.rocks に関するご質問にお答えします。私は embed.rocks のアカウントに登録し、Onebox Assistant を使用してテストしたところ、部分的な再バーク中に問題なく動作しました。しかし、その後、5 で説明した奇妙な動作が機能するため、設定を解除しました。
bletch
(Danny Goodall)
43
しばらく運営されているフォーラムでは、かつて有効だった YouTube リンクが無効になることはよくあります。著作権の問題やアカウントの閉鎖により動画が削除され、リンクが機能しなくなるためです。この現象をご覧になっている可能性はありませんか?
Canapin
(Coin-coin le Canapin)
44
こんにちは、
いいえ、動画は動いています 
130万件の投稿のうち、まだ90万件のリベイクが残っています(少なくとも1週間かかる見込み)が、1〜2日前までは新しい投稿に対するOnebox化は完璧に機能していました。
しかし、今YouTubeリンクを含む新しい投稿を作成したり、すでにYouTubeリンクを含む投稿のHTMLを再構築したりすると、以下の404エラーが表示されます:
他のOnebox(Vimeo、Twitterなど)は正常に動作しています。
編集:ここで投稿を読み直したところ、皆さんと同じ問題を抱えているようです。
メッセージで「BANが解除された」とおっしゃっていますが、連絡を取らずに自動的に解除されたのでしょうか?
古い投稿に埋め込み動画がなくてもあまり気にしていませんが、新しい投稿については気になります。
まだフォーラムは公開されていませんので、ユーザーに良い体験を提供したいと考えています 
編集:複数の編集をしてしまい申し訳ありません。
ここで説明されている奇妙な回避策を試してみました:"Onebox Assistant", crawl for those previews reliably! - #35
これで動作しました。「すべてをリベイク」が完了するまで待ち、YouTubeがIPBANを自動的に解除するようですので、数日〜数週間待つことにします。
Saiano
(Saiano)
45
こんにちは、
当フォーラムで YouTube 動画のワンボックシングが停止してしまいます。
1 週間前、音楽動画を多数含むトピックを開始しましたが、@marcozambi 様と同様に、ワンボックシングで 404 エラーが発生しているようです。
どのように対処すべきでしょうか?
legrit
(Alex Legrand)
47
こんにちは、私も同じ問題に直面しています:
- 私のサーバーは IP ブロックされていないようです:curl リクエストは問題なく動作します(サーバーから YouTube も閲覧できます)
- ブラウザのコンソールでは 404 エラーではなく、504 ゲートウェイタイムアウトが表示されます
- また、URL のどのバージョンも私では機能しません
しかし、Discourse の production.log には以下の SSL エラーが表示されています。
Failed to onebox https://www.youtube.com/post/***** hostname "www.youtube.com" does not match the server certificate (OpenSSL::SSL::SSLError) ["/usr/local/lib/ruby/2.7.0/openssl/ssl.rb:395:in 'post_connection_check'", "/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/excon-0.78.1/lib/excon/ssl_socket.rb:146:in 'initialize'", "/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/excon-0.78.1/lib/excon/connection.rb:471:in 'new'", "/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/excon-0.78.1/lib/excon/connection.rb:471:in 'socket'", "/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/excon-0.78.1/lib/excon/connection.rb:118:in 'request_call'", "/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/excon-0.78.1/lib/excon/middlewares/mock.rb:57:in 'request_call'", "/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/excon-0.78.1/lib/excon/middlewares/instrumentor.rb:34:in 'request_call'", "/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/excon-0.78.1/lib/excon/middlewares/idempotent.rb:19:in 'request_call'", "/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/excon-0.78.1/lib/excon/middlewares/base.rb:22:in 'request_call'", "/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/excon-0.78.1/lib/excon/middlewares/base.rb:22:in 'request_call'", "/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/excon-0.78.1/lib/excon/connection.rb:283:in 'request'", "/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/excon-0.78.1/lib/excon.rb:250:in 'head'", "/var/www/discourse/lib/final_destination.rb:186:in 'public_send'", "/var/www/discourse/lib/final_destination.rb:186:in 'resolve'", "/var/www/discourse/lib/oneboxer.rb:365:in 'block in external_onebox'", "/var/www/discourse/lib/cache.rb:94:in 'fetch'", "/var/www/discourse/lib/oneboxer.rb:358:in 'external_onebox'", "/var/www/discourse/lib/oneboxer.rb:199:in 'onebox_raw'", "/var/www/discourse/lib/oneboxer.rb:44:in 'preview'", "/var/www/discourse/app/controllers/onebox_controller.rb:27:in 'block in show'", "/var/www/discourse/lib/hijack.rb:56:in 'instance_eval'", "/var/www/discourse/lib/hijack.rb:56:in 'block in hijack'", "/var/www/discourse/lib/scheduler/defer.rb:94:in 'block in do_work'", "/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rails_multisite-2.5.0/lib/rails_multisite/connection_management.rb:76:in 'with_connection'", "/var/www/discourse/lib/scheduler/defer.rb:89:in 'do_work'", "/var/www/discourse/lib/scheduler/defer.rb:79:in 'block (2 levels) in start_thread']
なぜ私のサーバーが突然 youtube.com の証明書が URL と一致しないと判断するのか、理解できません 
Falco
(Falco)
49
@legrit 埋め込もうとしている URL を共有してもらえますか?また、あなたのサーバーで以下を実行してみてください:
cd /var/discourse
./launcher enter app
curl -vI https://www.youtube.com
その出力をここに貼り付けてください。
legrit
(Alex Legrand)
50
問題を解決しました。
Docker コンテナ内の /etc/resolv.conf で、最初のアドレスに自分のサーバーの IP、2 番目に Google の 8.8.8.8 が設定されていました。
最初のアドレスを削除したところ、動作するようになりました。
なぜそうなっていたのかは完全には分かりませんが、コンテナ内から YouTube のみにアクセスできなくなっていたという状況でした。
YouTube の埋め込みが失敗しています。
「同意」ページへのリダイレクトが発生しているようです。Meta 上では正常に動作しています。
最近何か変更がありましたか?
Richie
(Richie Rich)
52