自宅のルータに MICRO RESEARCH の NetGenesic NWG OPTG5 を使っているのだけど、 久しぶりに設定画面を表示しようとしたら真っ白な画面が表示されるだけで Basic Auth すら要求されない。
なんだこりゃと MICRO RESEARCH の サイトを見にいったら 告知 が。 残念ながら NWG OPTG5 は販売終了だけあって対応ファームウェアがない。 (ところでこの頁には書かれていないけど Safari 10 でもダメである。 「特定のブラウザでログオンできない」と言ってるけど、メジャーなものだとほとんどダメじゃねえか!!)
告知の内容だと何が原因なのかさっぱりわからん。サポートに問い合せるのも面倒。だって他人と会話したくないし。 というわけで自力で調査することに。
curl で直接叩いてみたりして、「Upgrade-Insecure-Requests: 1」が request header に入っている場合に 400 Bad Requst が返ってくることを確認。
値を変更してみたり filed-name 部分を Ppgrade-Insecure-Requests のように変更しても返答には変化がなく、 結局 message-header の field-name 部分が 20 バイト以上になると (内容に関係なく) Bad Request になるということが判明。
client error じゃないんだから 400 番台を返すなよなあ…とどうでもいいことをボヤきつつ、 field-name が 20 バイト以上の message-header を除去する proxy をやっつけで作成。どうにか表示できるようになった。
ちなみに proxy はこれ。ruby 2.2 の webrick なら動くはずだけど、document にない内部処理用の object を無理矢理いじっているので他の version だと動かないかも。
require 'webrick'
require 'webrick/httpproxy'
proxy = WEBrick::HTTPProxyServer.new Port: 18000
class << proxy
def choose_header (src, dst)
return super unless dst.is_a?(Hash)
super.tap { dst.reject! { |k, v| k.length >= 20 } }
end
end
trap 'INT' do proxy.shutdown end
trap 'TERM' do proxy.shutdown end
proxy.start
今気付いたんだけど「らう゛りー・えんじぇる」の画像と style sheet のファイルがなくなってんね。 server をひっこした時にコピーしわすれたっぽい。