Posso definire a livello di codice i miei collegamenti al sito IIS7 (ad es. Foo.domain.com)?

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

  •  03-07-2019
  •  | 
  •  

Domanda

per il mio sito Web IIS7, ho dovuto accedere a Gestione servizi IIS7 e definire tutti i binding per il sito. Funziona bene.

Mi chiedevo se fosse possibile farlo programmaticamente nel file web.config? So che puoi fornire alcune impostazioni di IIS7 lì dentro ... non sei sicuro che sia possibile includere anche i binding?

ad es.

  1. http; tutti gli IP non assegnati; porta 80; foo.domain.com
  2. https; 192.168.0.2; porta 443; blah.domain.com
È stato utile?

Soluzione

La configurazione si trova nel file di configurazione dell'applicazione parent Host.config, tuttavia non sono sicuro che possa essere sovrascritto. Ad esempio in IIS Express la sezione che stai cercando è:

<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>

Potresti provare a correre (scusa, non ho provato nessuno di questi da solo):

  

% windir% \ system32 \ inetsrv \ appcmd.exe sblocco config -seection: system.applicationHost

Ma da un punto di vista della sicurezza non ha senso consentire a web.configs di confondersi individualmente con system.applicationHost, poiché la configurazione di un sito potrebbe interrompere ogni altro sito.

Altri suggerimenti

Guarda lo spazio dei nomi Microsoft.Web.Administration. puoi quindi configurare e manipolare la maggior parte di IIS 7 dal codice C #.

esiste anche un'utilità Appcmd che ti permette di manipolare quasi tutto in IIS 7.0. essere avvisato che questo strumento ha tonnellate di opzioni e interruttori. L'ho usato solo per i compiti più basilari come cambiare directory fisiche su applicazioni.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top