2016.11.12: 何が原因でサーバー障害が起きたか具体的に追記(というか個人的メモ)
お知らせ更新です。
本日、ぼくんちのTV別館は サーバー設定ミスのため、一時的にサイトに繋がりにくくなっておりました。
障害発生期間: 2016年11月10日、15時24分~15時58分の間
現在は復旧しています。
原因
リダイレクト設定のミスによる 正しくないURL転送が発生した。
発生する症状
Webページが正常に開かない
404、414、500、503 エラーの発生
予期しないページが開く、など。
16時以降もサイトが正常に表示されない場合は、ブラウザキャッシュのクリアを行ってみてください。
お手数をおかけしますが、よろしくお願いします。m(_ _)m
追記(個人的メモ)
意図通りに動くようになりました。
サーバー障害を起こしたリダイレクト関連の記述方法が分かったのでメモ
意図通りに動く書き方
server {
rewrite ^(.*)/\.html(.*) $1.html permanent ;
rewrite ^(.*)\.html(.*).htm(.*) $1.html permanent ;
location / {
rewrite ^(.*)\.html(.*) $1.html permanent;
}
}
rewrite ^(.*)/\.html(.*) $1.html permanent ;
rewrite ^(.*)\.html(.*).htm(.*) $1.html permanent ;
location / {
rewrite ^(.*)\.html(.*) $1.html permanent;
}
}
動かない(サーバーエラーが出る)書き方 その1
server {
rewrite ^(.*)/\.html(.*) $1.html permanent ;
rewrite ^(.*)\.html(.*).htm(.*) $1.html permanent ;
rewrite ^(.*)\.html(.*) $1.html permanent;
location / {
}
}
rewrite ^(.*)/\.html(.*) $1.html permanent ;
rewrite ^(.*)\.html(.*).htm(.*) $1.html permanent ;
rewrite ^(.*)\.html(.*) $1.html permanent;
location / {
}
}
動かない(サーバーエラーが出る)書き方 その2
server {
location / {
rewrite ^(.*)/\.html(.*) $1.html permanent ;
rewrite ^(.*)\.html(.*).htm(.*) $1.html permanent ;
rewrite ^(.*)\.html(.*) $1.html permanent;
}
}
location / {
rewrite ^(.*)/\.html(.*) $1.html permanent ;
rewrite ^(.*)\.html(.*).htm(.*) $1.html permanent ;
rewrite ^(.*)\.html(.*) $1.html permanent;
}
}
上記はNginxのリダイレクトの設定。
外部サイトに貼られた「正しくないリンク」でも、このサイト内で極力404エラーを出さないようにする。
その他メモ
- 「location」ディレクティブの中では正常作動するもの、逆に「location」ディレクティブの外で正常作動するもの、両方があった。
- brake; や last; を使えばエラーが出なくなるケースもあるけれど、間違った URL のまま表示されてしまうので、できるだけ permanent; を使いたかった。
- あと、正規表現含んだif文と合わせて使えない。これはハマる。
あとで時間をとってバックステージ側でまとめたい。