2012-03-04 9 views
0

MVCアプリケーションを他のコンピュータ(特にMacマシン)からアクセスできるようにしようとしています。これは私の仕事でwinXP上の古いバージョンのIISに慣れてきたのでIIS7でサイトを実行するのは初めてのことです。このコンピュータでは、私はたいていVS2010の開発サーバーを使用します。他の(mac)マシンが私の(win7)マシン上のIIS7ホステッドMVC3アプリケーションにアクセスするにはどうすればよいですか?

私はwindows7(64bit)を使用していますが、mac /他のマシンでこのサイトにアクセスしたいと思います。
タイプ:HTTP
IPアドレス:未使用のIPアドレスすべて
ポート:80
ホスト名:私のマシンでwww.thisisatest.com


を私は次のように

私のサイトのバインドの設定は、 www.thisisatest.comにアクセスできますが、COMPUTERNAME/www.thisisatest.comやIPADDRESS/www.thisisatest.comにアクセスすることはできません。なぜなら私はwinXPのオフィスでこれを何回もやったからです。

しかし、私は別のマシン(MAC)ON COMPUTERNAME /またはIPADDRESS/

でIIS7のページにアクセスすることができます
私はIPADDRESS/

私にアクセスしようとすると、サーバーがエラーを応答しない取得していますファイアウォールは既にオフになっており、すべてのポートを開くためにファイアウォールに受信ルールを追加しています。

質問:

1.Whyは、私も自分のマシン上でCOMPUTERNAME/www.thisisatest.comまたはIPADDRESS/www.thisisatest.comを使用してサイトにアクセスすることはできませんか?これは私のアプリがホストされている自分のマシンなので変です。

2.リモートアクセスを許可するにはどうすればよいですか?サイトにアクセスするために使用しているMacマシンであれば重要ですか?

アイデア?

+0

Macで「http:// IPADDRESS /」にアクセスするとどうなりますか?あなたはあなたが 'IPADDRESS /'にアクセスしたと言いましたので、httpやlan shareのどちらになっているのか分かりません... IPADDRESSはlan one(192 ...または10.)かpublicですか?あなたのMacはIISと同じであるか、インターネット経由でアクセスしようとしていますか? – CyberDude

+0

Macでhtp:// IPADDRESS /にアクセスしようとすると、「サーバが応答しません」というエラーが表示されます。私のウィンドウとマックマシンはどちらも同じルータに接続しています。申し訳ありませんが私はここに新しいとstackoverflow 2つのリンクのみを許可するため、私の各URLに "http://"を含めていませんでした。 – dmc

答えて

0
  1. あなたのアプリはwww.thisisatest.comというフォルダに設定する必要があります。アプリケーションのプロパティにそのホスト名を設定しても、http://IPADDRESS/www.thisisatest.comからアクセスするという意味ではありません。つまり、クライアントが使用するアドレスの形式がhttp://www.thisisatest.com/<querystring>の場合、IISはその要求をアプリにルーティングします。他の要求は満たされません。その設定を削除しようとすると、http://IPADDRESS/またはhttp://MACHINENAME(Windowsの場合)経由でアプリにアクセスできるようになります。 Macでは、IISマシンが通常は動作します(ただし、IISマシンがDNSを介して復旧可能な場合を除く)。

  2. ウェブサイトが実行されているポートがブロックされていない限り、アプリはIP経由でアクセス可能である必要があります。もちろん、特定のクライアントIPなどをブロックする他の方法もありますが、デフォルトの設定を変更しなかった場合は動作するはずです。

+0

ありがとう@Cyber​​Dudeホスト名を削除するように言ったが、ポート80はすでに使用中であるため、ポートを変更する必要がありました。これで、http:// IPADDRESS:PORTを使用してどこでも自分のアプリにアクセスできます。 Macマシンからデータベースに値を挿入できないような問題もありますが、dbに画像を保存するためにuploadifyを使用しているため、何が原因であるかを調査する必要があります。 – dmc

+0

もう一度@Cyber​​Dudeに感謝します! – dmc

0

これはIISに関するご質問に対する回答ではありません。私は開発サイトをIIS Expressで実行し、MacBook ProとipadからIIS Expressで動作するサイトにアクセスする必要がありました。 IISからIIS Expressに切り替える場合は、この方法を使用して、ネットワーク上の他のマシン(WiFi DHCP経由で実行される電話機やタブレットを含む)からIIS Expressで実行されているサイトにアクセスできます。

まず、Scott Hanselman's Ninja guide to running your site on ports 80/443 over IIS Expressに従ってください。

次に、ネットワーク上のVS winマシンのIPを探します。今日私の鉱山は192.168.1.113です。

次に、MyDocuments/IISExpress/config/applicationhost.configを開きます。 Hanselmanの記事では、<binding>セクションをここに設定しなければなりませんでした。あなたのIP用に新しいものを追加するだけです。

<bindings> 
    <binding protocol="http" bindingInformation="*:1976:localhost" /> 
    <binding protocol="https" bindingInformation="*:44376:localhost" /> 
    <binding protocol="http" bindingInformation="*:80:HANSELMAN-W500" /> 
    <binding protocol="https" bindingInformation="*:443:HANSELMAN-W500" /> 
    <binding protocol="http" bindingInformation="*:80:192.168.1.113" /> 
    <binding protocol="https" bindingInformation="*:443:192.168.1.113" /> 
</bindings> 

ファイアウォールを開いたら、管理者としてVSを起動し、サイトを実行します。あなたも上のS​​SLを設定している場合

http://192.168.1.113/ 

または、:あなたはhttp://localhost:1976、およびhttp://HANSELMAN-W500(またはコンピュータ名)の上にそれにアクセスできる場合は、このURLを使って、Macやタブレットからもアクセスすることができるはずですポート443、

VSを管理者ではなく通常のユーザーとして実行することで、これを動作させることもできます。そのために、あなたは次のようなコマンドを実行する必要があります:

netsh http add urlacl url=http://192.168.1.113:80/ user=everyone 
netsh http add urlacl url=https://192.168.1.113:443/ user=everyone 

を...再び、これらのコマンド(だけでなく、それらを元に戻す方法については)忍者の記事でご利用いただけます。それらを実行した後、IIS ExpressはVSから起動し、管理者として実行する必要はありません。

+0

ありがとう@danludwig私はこれを試してみます。私はIISExpressについても良いことを聞いたことがあるが、まだ試していない。ありがとう – dmc