記事一覧

Visual Studio 2015 のIIS Express にIP経由で接続する方法 | asp.net


Visual Studio 2015 の IIS Express でIP経由の接続方法についてご紹介します。
通常、VSでデバッグ実行するとIEが立ち上がり、http://localhost:port番号/MyPage.aspx というURLで動作確認されていると思いますが、他の端末やブラウザからもテストしたいですよね。そこでIISの設定を変更することで自端末以外からのIP接続を受け付けれるようにすることができます。


iisexpress_04.png



前提条件
Windows 7 Professional 以降 / Windows Server 2008 R2 以降
Visual Studio 2015 Community 以降



1.applicationhost.config の編集

ソリューションフォルダ\.vs\config\applicationhost.configファイルを開きます。
IIS上で実行されているファイルの保存場所は画面右下のタスクトレイからIISのマークを右クリックして、「すべてのアプリケーションを表示」を選択し、実行しているURLをクリックすると構成の箇所に表示されます。

iisexpress_01.png


iisexpress_02.png

iisexpress_03.png

追加する設定は以下の1行のみです。
<binding protocol="http" bindingInformation="*:ポート番号:IPアドレス" />

※LocalHostで設定されているポート番号と異なる番号で設定することを推奨します。

applicationhost.config
<sites>
    <site name="WebSite1" id="1" serverAutoStart="true">
        <application path="/">
            <virtualDirectory path="/" physicalPath="%IIS_SITES_HOME%\WebSite1" />
        </application>
        <bindings>
            <binding protocol="http" bindingInformation=":8080:localhost" />
        </bindings>
    </site>
    <site name="TreeViewTest" id="2">
        <application path="/" applicationPool="Clr4IntegratedAppPool">
            <virtualDirectory path="/" physicalPath="...\TreeViewTest\TreeViewTest" />
        </application>
        <bindings>
            <binding protocol="http" bindingInformation="*:ポート番号:localhost" />
            <binding protocol="http" bindingInformation="*:ポート番号:IPアドレス" />
        </bindings>
    </site>
    <siteDefaults>
        <logFile logFormat="W3C" directory="%IIS_USER_HOME%\Logs" />
        <traceFailedRequestsLogging directory="%IIS_USER_HOME%\TraceLogFiles" enabled="true" maxLogFileSizeKB="1024" />
    </siteDefaults>
    <applicationDefaults applicationPool="Clr4IntegratedAppPool" />
    <virtualDirectoryDefaults allowSubDirConfig="true" />
</sites>



2.URL ACL の設定

コマンドプロンプトを管理者権限で実行し、以下のコマンドを実行します。
netsh http add urlacl url=http://IPアドレス:ポート番号/ user=everyone

設定を解除する場合
netsh http delete urlacl url=http://IPアドレス:ポート番号/

※LocalHostで設定されているポート番号と異なる番号で設定することを推奨します。



3.ファイアウォールの設定

受信ポートは上記で設定したポート番号、受信IPも上記で設定したIPにて Windows FireWall またはサードパーティのファイアウォールの設定を許可にしてください。


以上で他の端末からのHTTP接続が可能です。
尚、設定しているポート番号がIPとLocalHostで同じだと、VSからデバッグ実行してもIE上では何も表示されず、IPベースのURLに変更してあげると正常に表示ができます。ポート番号を1つずらすなど、異なるポート番号で設定すると共存が可能です。


関連記事

コメント

コメントの投稿

広告

プロフィール

石河 純


著者名 :石河 純
自己紹介:素人上がりのIT技術者。趣味は卓球・車・ボウリング

IT関連の知識はざっくりとこんな感じです。
【OS関連】
WindowsServer: 2012/2008R2/2003/2000/NT4
Windows: 10/8/7/XP/2000/me/NT4/98
Linux: CentOS RedHatLinux9
Mac: macOS Sierra 10.12 / OSX Lion 10.7.5 / OSX Snow Leopard 10.6.8
【言語・データベース】
VB.net ASP.NET C#.net Java VBA
Xamarin.Forms
Oracle10g SQLServer2008R2 SQLAnywhere8/11/16
ActiveReport CrystalReport ReportNet(IBM)
【ネットワーク関連】
CCNP シスコ技術者認定
Cisco Catalyst シリーズ
Yamaha RTXシリーズ
FireWall関連
【WEB関連】
SEO SEM CSS IIS6/7 apache2

休みの日は卓球をやっています。
現在、卓球用品通販ショップは休業中です。