505エラー

現在制作中の『ナオのリドル10題 Vol.18』のクリア報告掲示板用で使うCGIや各種データファイルをアップロードして、動かしてみようと思ったら、出ました。

505エラー。

おかしいな、Vol.17のCGIを流用して、ファイル名とかを変えただけなんだけどな…
500ってどういうときに出るのだろうと調べてみたら、大体次のような情報が得られました。

  • CGI設置ディレクトリのパーミッションが755、705のいずれかで設定されていない
  • プログラム側の記述に誤りがある
  • 同時接続数などが影響し、リソース制限がかかっている可能性もある

パーミッションはVol.17のと同じように設定した。
プログラムの記述もチェックしたけどperlの構文に問題はない(はず)。

同時接続数…他に誰も接続してないでしょw

Vol.17とVol.18で違う点が何かあっただろうかと思ったら、ひとつ思い当たりました。
使っているFTPツールが違う

そうなんです。
従来はFFFTPを使っていましたが、ある理由でSFTPを使う必要が生じたため、WinSCPに乗り換えたのです。
ということは、WinSCPの転送設定に何か問題がある…?

そしてついに突き止めました。
すべての種類のファイルについて、転送モードがバイナリだった…!
CGIや各種データファイルをテキストモードで転送するよう設定する(WinSCPの場合、転送モードを「自動」にする)と、無事解決できました。

どうしてもCGIの500エラーを解決できない人は、FTPツールの転送設定にも目を向けてみてください。

— Please feel free to contact me