- PR -

Cassini Web ServerへのRemoteからのアクセスについて

投稿者投稿内容
Asoas
ベテラン
会議室デビュー日: 2006/03/10
投稿数: 60
投稿日時: 2008-01-09 17:52
Cassiniについて、あまり詳細情報がでていないので、ここで質問させて頂きます。
ご存知の方、教えてください。

Cassiniを使用したWEBアプリケーションを作成しています。
複数のPCから、このWEBアプリケーションへのアクセスさせたいのですが、
Cassiniのオリジナルソースのままでは、他のPCからWEBアプリケーションへのアクセスが拒否されます。
ちなみにローカル環境(CassiniとWebアプリが同一PC内)ではこのWEBアプリは正常に動作しています。

以下のサイトに、リモートPCからのアクセスする方法が書いてあったので、
実践してみたのですが、同じようにアクセス拒否されます。

--------------------------------------------------------------------
<Hosting the ASP.NET runtime in your own application>
http://www.microsoft.com/belux/msdn/nl/community/columns/desmet/hostaspnet2.mspx#The%20Cassini%20web%20server

上記サイトでは、Cassiniのソース(Request.cs)の以下部分を削除するとリモートアクセス可能と書いていました。
// Limit to local requests only
if (!_conn.IsLocal)
{
_conn.WriteErrorAndClose(403);
return;
}
--------------------------------------------------------------------

他のサイトも色々見ましたが、これに関する情報は掲載されていませんでした。

宜しくお願いいたします。

どっとねっとふぁん
ぬし
会議室デビュー日: 2005/02/23
投稿数: 935
投稿日時: 2008-01-09 18:33
Cassiniは指摘されている部分以外にリモートからのアクセス拒否をする部分を
持っていなかったはずです。
Cassiniを動作させているマシンのOSはなんでしょう。
XP付属のファイアウォールが動いててアクセスが拒否されるとかしてませんか?

#もしXPで運用を考えているなら、ライセンス的な問題がないかマイクロソフトに
 確認したほうがいいかもしれませんね。
Asoas
ベテラン
会議室デビュー日: 2006/03/10
投稿数: 60
投稿日時: 2008-01-09 19:12
どっとねっとふぁん様

ご返答有難うございます。
ファイアウォール(windows及びウイルスソフト)については、確認しましたが、無効にしており問題ありませんでした。

外部PC(ブラウザ)からアクセスすると、以下のエラーメッセージが表示されます。

Server Error in '/******' Application.
------------------------------------------------
HTTP Error 403 - Forbidden.
-------------------------------------------------
Version Information: Cassini Web Server 1.0.40305.0


現在、WinXP ProでCassiniを動作させておりますが、運用では2000,XP,Vista上で
使用するケースもでてくるはずですので、"シェアード ソース ライセンス"については
ご指摘頂いた様にMSに一度確認しようと考えております。

どっとねっとふぁん
ぬし
会議室デビュー日: 2005/02/23
投稿数: 935
投稿日時: 2008-01-10 10:20
うーん、Cassiniが返してるエラーメッセージですね。。。
ソースから指定部分を削除(またはコメントアウト)後、コンパイルしたCassiniを
実行してるんですよね?
であれば私もむかし試したことあるし、問題ないはずなんですが。

ちなみに、ライセンスで私が気にしないといけないと思っているのは「シェアードソース」の
部分ではなく、XP等のクライアントOSをサーバとして運用する部分についてです。
以下のような情報が参考になるかもしれません。
http://damedame.monyo.com/?date=20030718
http://q.hatena.ne.jp/1197944937

あとセキュリティ的な部分も何かあったときは自分で対応しないといけないですね。
Asoas
ベテラン
会議室デビュー日: 2006/03/10
投稿数: 60
投稿日時: 2008-01-10 12:39
別のCSファイル内容を若干変更して、ビルドしたのですが、
きちんとコンパイルされてなかったみたいです。
実行しましたが、変更されていませんでした。

どっとねっとふぁん様、すみませんでした。

基本的な質問なのですが、以下の原因が分かりません。何か初歩的な失敗をしているのでしょうか?
コード変更後、コンパイルし、新しいCassini.dll作成し、それをWEBアプリで参照しているにも係わらず、変更されていない状況です。何度か試しています。

デバッグモードをプログラムにし、Classファイル内もデバッグしていますが、肝心な部分(request.cs部分)は、リクエスト要求があった際に読み込まれるために、確認できません。
どっとねっとふぁん
ぬし
会議室デビュー日: 2005/02/23
投稿数: 935
投稿日時: 2008-01-10 13:33
えと、Cassiniの起動ってどうしてます?
あとdllを参照ということですが、Cassini.dllはどこにあります?

http://codezine.jp/a/article/aid/127.aspx
多少参考になるかもしれません。

Asoas
ベテラン
会議室デビュー日: 2006/03/10
投稿数: 60
投稿日時: 2008-01-10 14:16
cassiniの参照は、WEBアプリケーションフォルダ((仮) webapp)の以下にそれぞれに配置したcassini.dll(生成したものをコピー)の内 "b)"以下にあるcassini.dllを参照しています。
a) C:\\webapp\\obj\\Release
b) C:\\webapp\\obj\\debug
c) C:\\webapp\\bin

現状は、Webアプリ内で、以下の指定でcassiniを起動しています。
WebSrv = new Server(port, virtualPath, physicalPath);
WebSrv.Start();
どっとねっとふぁん
ぬし
会議室デビュー日: 2005/02/23
投稿数: 935
投稿日時: 2008-01-10 14:46
ASP.NETのWebアプリケーションは実行時にはbinフォルダ以下のdllしかみません。
逆にbinフォルダに修正後のdllがあるなら、その点は問題なさそうですね。

で、「Webアプリ内で」起動してる、という話ですが、これ本当に起動してます???
Webアプリの実行を開始する以前にCassiniが起動していないことにはどうにも
ならないはずなんですが、その関係がこの記述からではよくわかりません。

スキルアップ/キャリアアップ(JOB@IT)