ブラウザからは期待どおりアクセスしてるけどSubway tooterからは404のURLにstreamを取りに来てるんだ
@zundan 何か起こったです?
@Clworld Subway tooterを起動してると method=GET path=/api/v1/streaming format=html controller=ApplicationController action=raise_not_found status=404 といった感じのレスポンスが記録されるようです。Herokuで運用しててstreaming APIは別のアプリで受けてるのですが、Subway tooterからのリクエストは本体のアプリに来てしまっている感じです。
@Clworld @zundan 404じゃなくてクエリパラメータ付きのURLで301返すようにしてください。現状、カスタマイズされたAPIエンドポイントURLを知る方法が他にありません
@tateisu @Clworld https://github.com/tootsuite/mastodon/pull/3579 こんな感じになりました!
@Clworld @zundan おー、nginxじゃなくてrailsで実装なんですね
@tateisu @Clworld @zundan Production-Guide通りに作られたインスタンスだとそもそもこのリダイレクト読みに行けなくないです?
@Clworld @zundan @ikuradon ストリーミングAPIのURLが標準と異なる場合に、標準のURLにアクセスしたらリダイレクトするって話ですからね。nginx側で対応できてるんならそもそも不要ですが、環境によっては必要なんじゃないでしょうか
@Clworld @zundan @tateisu 考えてみれば確かにnginxでそこのセクション消してるから404が帰ってきてるので、301リダイレクトはありですね
@Clworld @zundan @tateisu ただ301リダイレクトで別ドメイン移動させると安全のためにミドルウェアがAuthorizatonヘッダを送信しなくなるのがあるので、微妙なところではあるかと
@Clworld @zundan @ikuradon ストリーミングAPIは元々認証ヘッダ関係ないんですよ…
@Clworld @zundan @tateisu ヘッダ認証必要なAPIとREQUESTの中に認証を入れるAPIの二つがあった気がします
@Clworld @zundan @ikuradon ストリーミングAPIで動いてるのを見たことあるのは片方だけですね
@Clworld @zundan @tateisu Pawooアプリの実装はAuthorizationヘッダだった気がします
@Clworld @zundan @ikuradon PawooアプリのストリーミングはPawooタンス限定なのでどうぞ好きにしてください。私には関係ありません。
@Clworld @zundan @ikuradon URLのクエリパラメータ部分にアクセストークン入ってる。公式Webアプリでもそういう扱い
@Clworld @zundan @ikuradon 301返すのは先例としてmstdn.jpが存在してます
@Clworld @zundan @ikuradon 公式WebアプリがストリーミングAPIのクエリパラメータにアクセストークンを指定してるのは別ホストにアクセストークンを投げる可能性があるからだ、って解釈は納得しやすいですね
Mastodonは、オープンなウェブプロトコルを採用した、自由でオープンソースなソーシャルネットワークです。電子メールのような分散型の仕組みを採っています。
@Clworld Subway tooterを起動してると method=GET path=/api/v1/streaming format=html controller=ApplicationController action=raise_not_found status=404 といった感じのレスポンスが記録されるようです。Herokuで運用しててstreaming APIは別のアプリで受けてるのですが、Subway tooterからのリクエストは本体のアプリに来てしまっている感じです。