プログラムでIIS7サイトバインディング(foo.domain.comなど)を定義できますか?

StackOverflow https://stackoverflow.com/questions/809826

  •  03-07-2019
  •  | 
  •  

質問

IIS7 Webサイトの場合、IIS7サービスマネージャーに移動して、サイトのすべてのバインドを定義する必要がありました。正常に動作します。

代わりにweb.configファイルでこれをプログラムで行うことが可能かどうか疑問に思っていましたか?そこにいくつかのiis7設定を提供できることを知っています..バインディングも含めることが可能かどうかわかりませんでしたか?

eg。

  1. http;すべての未割り当てIP。ポート80。 foo.domain.com
  2. https; 192.168.0.2;ポート443; blah.domain.com
役に立ちましたか?

解決

構成は親applicationHost.configの構成ファイルにありますが、オーバーライドできるかどうかはわかりません。たとえば、IIS Expressで探しているセクションは次のとおりです。

<system.applicationHost>
...

    <sites>
        <site name="Development Web Site" id="1" serverAutoStart="true">
            <application path="/">
                <virtualDirectory path="/" physicalPath="%IIS_BIN%\AppServer\empty_wwwroot" />
            </application>
            <bindings>
                <binding protocol="http" bindingInformation=":8080:localhost" />
            </bindings>
        </site>
        <siteDefaults>
            <logFile logFormat="W3C" directory="%IIS_USER_HOME%\Logs" />
            <traceFailedRequestsLogging directory="%IIS_USER_HOME%\TraceLogFiles" enabled="true" maxLogFileSizeKB="1024" />
        </siteDefaults>
        <applicationDefaults applicationPool="IISExpressAppPool" />
        <virtualDirectoryDefaults allowSubDirConfig="true" />
    </sites>

</system.applicationHost>

実行してみてください(申し訳ありません-私はこれらのいずれも試していません):

  

%windir%\ system32 \ inetsrv \ appcmd.exeロック解除設定-section:system.applicationHost

しかし、セキュリティの観点からは、あるサイトの設定が他のすべてのサイトを破壊する可能性があるため、web.configがsystem.applicationHostを個別に混乱させることは許可されません。

他のヒント

Microsoft.Web.Administration名前空間を見てください。その後、C#コードからIIS 7のほとんどを構成および操作できます。

また、ユーティリティ Appcmd を使用して、ほとんど操作することができます。 IIS 7.0のすべて。このツールには多数のオプションとスイッチがあることに注意してください。アプリケーションの物理ディレクトリの変更など、最も基本的なタスクにのみ使用しました。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top