スポンサードリンク

nginxで静的ファイルを返す設定、あってますか?

こんばんは、ころすけ(@wg_koro)です。

Redmine入り口

iPhoneアプリ「RedminePM」と、自宅のRedmineを連携させようとしたんです。そしたら何故かエラーが出る。REST APIも有効にしているし、XMLも読み込みできる。でもiPhoneアプリと連携できない。何故?

nginxの設定間違えてた

手っ取り早く言うと、nginxの設定間違いでした。静的ファイル(CSS,js,jpg..etc)はnginxが直接返すようにしていたんですが、ここの設定にミスがありました。

アクセスログをたどると、プロジェクト一覧を表示するAPI(下記)で404エラーが返ってました。あれ?
/projects.json?key=xxx
JSONなのにpublicディレクトリを見に行こうとしてる。静的ファイル扱いされてる。

…あ。

違いが分かりますか?

location ~ .*.(jpg…) の一番後ろに「$」が入っていない。

これを入れていないと「.js」はもちろん、「.json」もHITしちゃいます。おうふ orz

ま、何はともあれこれでOK。無事にiPhoneアプリと連携できるようになりました。REST APIを使った連携で上手くいかない場合、このあたりをお調べ下さい。

Facebookページ / スポンサードリンク
2013-10-08 | Posted in サーバー4 Comments » 

コメント4件

 ほっし | 2013.10.12 21:43

ぷぷっ(ˆωˆ )

 レミ | 2016.08.19 14:31

正解と間違いの違いが全く無いように見える・・・。

 andy | 2017.06.09 15:35

>>location ~ .*.(jpg…) の一番後ろに「$」が入っていない。

とありますが、正解の方にも入っていないですよお

 wg koro | 2017.06.12 3:40

失礼しました!
WordPressのコードハイライトツールが「$」の文字をエスケープしないと表示しない仕様だったようです…。修正しました。

Comment





Comment



スパム対策のため、コメントする際は下記の計算式を埋めてください。 計算式の有効期限が切れました。計算式の隣にある再読み込みボタンを押してください。