AN HTTPD ゲストブック/コメント集(2000年5月10日19:55)


ぴゅあ pure@GalaxyCorp.com 2000/05/12 22:28

 もうひとつ投稿ついでに。
 PerlScriptの件も中田さんのレスを読んで書き掛けてやめましたけどJavaScriptと同じ書き
方だと(IEでしか確認していませんが)クライアント側で動作するのかIEがperlScriptをサポート
しているのかそのまま動作するようですね。
 PHP風の書き方の場合どうなるのだろうかと(当然?AN HTTP Serverなしでは動作しないよう
でしたが)時間がなくて確認しきれていませんが再度中田さんのレスを読んで「・・・exeかDLL
をロードして処理できます」ということからもしかしたらAN HTTP Serverに手を加えることな
くPHPのように動かせるかもしれないのかな(AN HTTP ServerがPHPのために特別な処理を行っ
ているのでなければ)と思ったりしましたので日曜辺りに確認してみようかと思っています。


ぴゅあ pure@GalaxyCorp.com 2000/05/12 22:03

 そうです。サーバ関係は全てダイヤルアップ接続するマシン上に置いてあります。
 またルータは使っていないのでそのマシン上で直接ダイヤルアップ接続されています。

 尤も他のマシンにあるWebサーバ(具体的に言えばICQのWebサーバ)を外に見せようと思
って色々とプロクシ/ファイアウォールサーバをいぢってみましたがうまく繋げられなかった
りしたのでAN HTTP Serverの場合でも同様にまだ方法が解らない訳でもっとプロクシ/
ファイアウォールサーバのことも勉強しなければと思ってはいますが(それでもうまく行ったとしても
大元のAN HTTP Serverはダイヤルアップ接続をするマシン上に置くつもりですが)。
 またどうもプロクシ/ファイアウォールサーバと同じマシン上にあるAN HTTP ServerやFTP
サーバ等はファイアウォールの外にあるような挙動が見られるのでそれで良いのかな?という
のもあったりしますが。まだまだマトモには使いこなせていない感じですよね<ファイアウォール。

 ダイヤルアップ接続をするマシン以外の場所にAN HTTP Serverを立ち上げてIPアドレスを取
得しようとするとダイヤルアップ接続をしているマシンに(専用の)適当なサーバを作って
AN HTTP Serverと通信してIPアドレスを受け取らせるような処置が必要になると思いますし
(例えばRAS制御ソフトのSuperRAS(FreeConnect)は専用のポートを1つ使って情報交換を行っ
ているらしい)同じマシンでAN HTTP Serverを立ち上げた方が手っ取り早いのでそこまでの要
望はありません。

 またいずれはファイアウォールをWinNTからLinuxに移行してLinux側からダイヤルアップ接続
するようにしようかとも考えていますが(WinNTでプロクシ/ファイアウォールサーバの応答性
が悪いのはマシンパワーの問題かとも思いましたがそうでもないらしく。更にインターネットと
の分離度を高められるのではないかという意味で)その場合にはLinux側で何らかの処置ができ
るかも知れませんしまだまだ先の予定ですので追い追いということで。
 当分長い間先の構成でAN HTTP ServerからIPアドレスをもらうという形を採るつもりですの
で。


中田昭雄 nakata@st.rim.or.jp 2000/05/12 21:00

ぴゅあさん、
AN HTTPD を立ち上げているPCでダイヤルアップするのですよね?
そうでないとするとちょっと面倒です。


ぴゅあ pure@GalaxyCorp.com 2000/05/12 00:31

 SSI/CGIでできるなら必要ないぢゃないかと思われる人も居そうと思って書きましたがちょっ
と中途半端な表現でしたね。
 AN HTTP Serverと同じマシン上にあるFTP/telnetサーバへAN HTTP ServerのWeb上から
リンクを張りたいということです(AN HTTP Serverの入り口をプロバイダ上のページに置くなら
全部そこに置けば必要ないぢゃないかと言われそうですが)。今のバージョンだとローカルIP
アドレスを知る手段を持っていないので手作業なりでIPアドレスを毎回変えてやらないとリンクで
きませんよね(サーバのIPアドレスは環境変数に上がってきていたと思いますがローカルのま
まの筈)。イントラネットであれば問題ないですけどインターネット上からのアクセスでは
(アドレス変換してくれるものを間に入れないと?)アクセスできない筈ですから。

 なおtelnetを表に出すのは危険と言われそうなので(或いはこのカキコを見て出そうと思う
人も居るかもしれないので)補足しておくとtelnetに関してはシェルではなく(擬似)telnet
を使った通信用のサーバであるということで。


中田昭雄 nakata@st.rim.or.jp 2000/05/11 21:19

ぴゅあさん、
補足の
>AN HTTP Server上でFTPやtelnetに繋げたい
ということの意味がつかめません。

内部からのアクセスでグローバルアドレスを知りたいというなら、前のコメントと同じことで、内部向けとの区別がちょっと面倒なわけですが、全部リストアップすればいいのだろうと思っています。


中田昭雄 nakata@st.rim.or.jp 2000/05/11 21:17

ぴゅあさん、
PerlScriptなどでクライアントサイドで動かす場合は HTTPサーバは関係しません。普通の JavaScript と同じ事で、HTTPサーバは HTMLファイルを返すだけであとはクライアント側でやることになります。 クライアントサイドでやる限りは HTTPサーバは何でも動くでしょう。

サーバサイドの話では、たとえば PHP の場合は PHPで処理するのがわかっていますから exe か DLL をロードして処理できます。 PerlScript の場合は、SCRIPT が JScript, VBScript, PerlScript といろいろなので、まず SCRIPTが何かをサーバ側で判断する作業が必要で(それを ASP.DLLがやるのだと思いますが)、その後しかるべきスクリプトエンジンをロードするのだと思います。


ぴゅあ pure@GalaxyCorp.com 2000/05/11 19:59

 補足。。。。

 前稿を書きつつ外のサーバでCGIなりSSIなりで対処できるんならいいぢゃないかと思いつつ
書いていましたけどAN HTTP Server上でFTPやtelnetに繋げたいというのを忘れたまま書いてた
んですよね。
 全部外のサーバから繋げられるようにコードを書けば良いぢゃないかと言われればそうです
けどAN HTTP Serverから繋げる(という言い方は変?リンクということですが)ようにしたい
となるとめんどくさいことをすれば不可能ではないでしょうけどAN HTTP Serverがグローバル
IPアドレスをくれると非常に楽だと言うことでやはり欲しいところでもあったりします。

 というところで。


ぴゅあ pure@GalaxyCorp.com 2000/05/11 01:38

 PerlScriptに関しては2つの呼び出し方があるようですね?
 1つはJavaScriptと同様「<SCRIPT language="PerlScript">」と書いた後にJavaScript
風に書くような書き方。実際にサーバとして?どういう処理がなされないといけないのかまで
は解っていませんけど。JavaScriptと同じ書き方ということでブラウザ側での設定になるのかな
?という気もしないでもありませんが。
 もう1つは「<%」と「%>」で囲むPHP風の書き方でaspから呼ばれる形ですよね。PHPに
似た記述ということでPHPと同様の処理で且つPHPの場合はEXEだったと思いますがPerlScriptの
場合はDLLが呼び出されるようになれば良いのか?と外見的には思えたりしますけど。
 実際のところは残念ながら調査不足ですが。

 JavaScriptやPHPに似ているような感じからわざわざPerlScriptを使う必要があるのかとい
うことも思ったりしますが色々と試してみるという点では見てみたいものでもあります。
 またPerlScriptがJavaScriptと違ってサーバサイドで動作するものであるなら一般の
プロバイダで味わってみることは不可能に近いと思うのでAN HTTP Serverならではという実装にも
なり得るのかなと思ったりします。
 きっとApacheでは組み込み型になっていたりするのでしょう。PHPみたいに。


ぴゅあ pure@GalaxyCorp.com 2000/05/11 01:25

 うー 風邪?が。。。。
 世の中ウイルスにてんてこ舞い?(だった?)みたいだけど風邪のウイルスに。。。。

>どういう変数名にしましょうか?
 どういったのが空いているのか判りませんけど基本的にお任せします。一般的な既存のものと
衝突しなければなんでも良いのだと思いますし(将来衝突することを考慮して任意の環境変数名
が割り当てられるようにまでとは要望しないことにしておきますが)。
 サーバに関する情報となりそうな感じですのでサーバ関係と捕らえればSERVER_xxxとか
になるのでしょうか?例えばSERVER_GLOBALIPとかSERVER_IP_GLOBALとか?(GLOBALって綴り
あってたかな?(汗))
 ホスト名で得られなくてもIPアドレスが取れれば後はgethostbyname()だったかな?で必要で
あればSSI/CGIを利用してホスト名を取ることはできるようになるのでしょうから。

 ただ今のところの用途はいちいちダイヤルアップネットワークからモニタを起動して更に詳細
情報からIPアドレスを見て手打ちでAN HTTP Serverを見せるためのURLを作っているという作業
をしているのでここまでの処理をCGIなりでできれば少しは楽になるだろうということで今は仮
にAN HTTP Serverで公開していますけど近々本格的に試験公開しようかなとも考えていたりす
るので(確かautolinkとかIPSXとかありましたが/IPSXはうちの環境では今一つ合わないような
?)。プロバイダのサーバを利用した外部から処理するSSI&CGIは作ってみましたが。
 SSI/CGIとしてのPerlでもちゃんと通信関係の処理を理解すれば今後色々と応用も考えられる
ようになるのではと期待しつつ。。。。


中田昭雄 nakata@st.rim.or.jp 2000/05/10 20:44

ぴゅあさん、
ダイヤルアップ接続のIPを特定する(LANアダプタがある場合にそのIPと区別する)にはどうしたらいいかという問題はありますが、可能だろうと思います。 どういう変数名にしましょうか?

PerlScript のスクリプトエンジンは ASP から呼ばれるような形だったと思うので、対応できていないと思います。


ぴゅあ pure@GalaxyCorp.com 2000/05/10 19:55

 書こうかどうしようか思っていたことを。

 環境変数等の形でAN HTTP Serverが立ち上がっているマシンのダイヤルアップ接続のIPアドレス
を提供するということは可能ですか?
 これはたぶん一般のWebサーバの機能としては例外なのかもしれませんけど。

 あとまだ確認する時間がなくてずっと長い間そのままになってしまっていますけどPerlScript
を動かせるようになっているのでしょうか。最近のバージョンでISAPIの指定ができるようにな
ったようなのでできるようになったのかなという気はしたりしていますが。尤もここの設定を変
えてしまうとPerlのISAPIが使えなくなりそう(共存不可)でもありますが。