• 締切済み

LANで実行できるCGIが外部からだとできない原因

raspberry piで自分用のwebサーバを立てています。 環境は以下の通り。 HW: raspberry pi 2B OS: raspbian 8.0 (Jessie) webサーバ: lighttpd 1.4.35 CGI: python 2.7 NWはKDDIの光で、KDDIの終端装置兼ルーターと自前のルータの2段階でIPマスカレードしてます。 WAN---(GIP)KDDI終端装置(192.168.1.1)-----(192.168.1.2)自前ルータ(192.168.11.1)----(192.168.11.21)ラズパイ 静的ページにはLAN/WANのクライアントともに接続できます。 pythonのCGIは、LANから接続できるものの、WANからは応答なしになります。 ブラウザは待機状態(?)の白いままで、エラーコードも帰ってきません。 サーバ側のerror.logにも特に何も出てません。 ポートは静的ページもCGIも同じなので、静的ページが参照できていることからNWの問題ではないと考えています。 なお、CGIではラズパイ上のsqlite3のDBファイルにアクセスしています。 sqlite3かlighttpdの設定の問題と思うのですが、目星がつかずに困っています。 何か原因に心当たりがありましたら教えてください。

みんなの回答

  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.2

>何か原因に心当たりがありましたら教えてください。 ルーターの設定の問題を再確認するため下記の接続でアクセスしてみることをお薦めします。 PC1───────┬─KDDIルーター───インターネト────PC3      自前ルーター Webサーバー─┤ PC2───────┘ PC2からは正常な応答があると言うことですよね? PC3からは応答なしですよね? PC1からはテストしたでしょうか? PC2以外は応答なしであればpythonのコードに問題があるかも知れません。 尚、PC1、PC2、PC3は全てpythonのコード作成に使っていないものを使います。1台のPCを繋ぎ変えてPC1、PC2、PC3の役割にすることは差し支えありません。 具体的には挙動を見ながらトライ&エラーの繰り返しで原因を追究しないと分かりません。 WebサーバーをPC1のネットワークへ接続する方法がお勧めです。

palayo
質問者

お礼

ご連絡遅くなりました。 確認したところ、PC1からもCGIの参照ができました。 ということはKDDIのルータの設定が怪しいということですね。 が、KDDIのルータは一部ポートを除き、全ポートを自前ルータにフォワードする設定になっています。 一部ポートというのもデフォルトで廃棄設定になっているもので、 今回のCGIでの公開ポートではありません。 次に疑うべきは何でしょうか??

noname#263248
noname#263248
回答No.1

CGIフォルダに静的ページを置いてアクセスしてみたらどうなります?

palayo
質問者

お礼

回答ありがとうございます。 cgiはフォルダで分けておらず、拡張子の指定のみですので、 静的ページはLANからもWANからも参照可能です。

関連するQ&A