2013-04-25 9 views
11

Questo è il mio web.config che ha alcuni tag per bloccare IpAddressInternal Server Error con web.config IPSecurity

<configuration> 
<connectionStrings> 
    ... 
</connectionStrings> 
<appSettings> 
    .... 
</appSettings> 
<runtime> 
    .... 
</runtime> 
    <system.webServer> 
    <security> 
     <ipSecurity allowUnlisted="false"> 
      <clear/> 
      <add ipAddress="127.0.0.1" allowed="true"/> 
      <add ipAddress="83.116.19.53" allowed="true"/> 
     </ipSecurity> 
    </security> 
</system.webServer> 
</configuration> 

La mia intenzione è quella di bloccare qualsiasi altro IP, tranne quanto sopra. Quanto sopra è l'unico indirizzo IP da cui il sito web sia accessibile. Ma con il tag "ipSecurity" ottengo sempre 500 - Errore interno del server e il sito funziona bene senza di esso.

Mi sono assicurato che "IP and Domains Restrictions" siano installati sul server. Per favore fatemi sapere se mi manca qualcosa. Grazie.

+0

aggiungere anche ':: 1' per IPv6 localhost, controllare i log di accesso per il sito per vedere quale indirizzo IP è stato bloccato, se ancora non funziona dopo quella. Se ti trovi in ​​una posizione remota verifica il tuo IP pubblico tramite qualcosa come ipchicken.com –

+0

Grazie, ho provato IPv6 localhost ma non è stato d'aiuto. Da IIS quando provo a fare clic su "IP & Domain Restrictions" mi viene restituito un errore "il blocco è per impostazione predefinita (overridemodedefault = deny)". – Sruthi

risposta

5

Si sta modificando la configurazione manualmente o tramite il gestore IIS?

Vedi questo post su questo messaggio di errore come non si può avere quella caratteristica delegazione abilitata

http://forums.asp.net/t/1220987.aspx

+0

Il collegamento è inattivo ... :("Il sito che stai cercando di raggiungere è inattivo per manutenzione ..." – Shubh

23

Per gli altri che corrono in questo problema. La causa del problema è che la Delegazione delle caratteristiche non consente alla funzione di essere gestita da web.config.

Per risolvere:

Verificare che la funzione è attivata per la gestione del web.config

  • In IIS 7, fare clic sul server radice
  • doppio clic delegazione Feature (in gestione)
  • Scorrere fino a Indirizzo IPv4 e Restrizioni dominio
    • Modificare la delega in Lettura/Scrittura (nel mio caso era Sola lettura, che era il problema)

Spero che questo aiuti qualcun altro.

+2

Questo ha risolto il mio problema ma non è stato possibile vedere "Indirizzo IPv4 e limitazioni di dominio" finché Win7 -> Programmi non è stato installato e Caratteristiche -> Servizi Web -> Funzionalità di sviluppo applicazioni -> ASP e anche nei servizi Web -> Sviluppo applicazioni -> Sicurezza -> Sicurezza IP – Riga

+0

Grazie! Questo risolve esattamente il problema dopo aver risolto i problemi nella legenda assoluta di ApplicationHost.config – juvchan

+0

. Sono sicuro che la risposta di Brock è corretta, ma questo è molto più sintetico –

1

Non dimenticare la delega del sito personalizzata. Ciò ti consente di consentire la delega solo ai siti che intendi.

8

Aprire il file diapplicationHost.config (che si trova al % windir% \ system32 \ inetsrv \ config \ applicationHost.config) e modificare il sezione IPSecurity.

Modifica questa linea:

<section name="ipSecurity" overrideModeDefault="Deny" /> 

A:

<section name="ipSecurity" overrideModeDefault="Allow" /> 
+0

Se stai lavorando su un sistema a 64 bit. modifica e salvalo con un programma a 64 bit! (come il blocco note) –

0

Speriamo che questo vi aiuterà qualcuno ...

Sono in esecuzione IIS Express su Windows 7 a livello locale e ha fatto le seguenti - Pannello di controllo> Programmi> Programmi e funzionalità> funzionalità di Windows attiva o disattiva

Nel di Windows Features dialogo assicurare la IP opzione di sicurezza è verificato:

enter image description here

ho anche dovuto aprire il mio applicationhost.config (sotto % userprofile% \ Documenti \ IISExpress \ config file di) e cambiare la seguente:

<section name="ipSecurity" overrideModeDefault="Deny" /> 

Per

<section name="ipSecurity" overrideModeDefault="Allow" /> 
18

Per Windows 10 e Visual Studio 2015 nota che il file ApplicationHost.config è stato trasferito alla cartella .vs \ config nella gerarchia delle cartelle del progetto. Sarà necessario modificare la versione specifica del progetto del file ApplicationHost.config trovato lì con ...

<section name="ipSecurity" overrideModeDefault="Allow" /> 

Se si modifica solo l'ApplicationHost.config si trova nella vostra Documenti \ IISExpress cartella questo non influenzerà la vostra applicazione esistente (MVC5 appl nel mio caso).

4

Prova questo tag system.webServer fuori

<location path="Default WebSite"> 
    <system.webServer> 
     <security> 
      <ipSecurity allowUnlisted="false"> 
       <clear/>     
       <add ipAddress="127.0.0.1" allowed="true"/> 
      <add ipAddress="83.116.19.53" allowed="true"/> 
      </ipSecurity> 
     </security> 
    </system.webServer> 
</location> 
+1

mi hai appena salvato la vita –

+1

Ha funzionato per te è tutto ciò che conta di più! –

+1

Non è questa impostazione che consente la connessione da tutte le fonti, perché allowUnlisted è impostato su true? https://docs.microsoft.com/en-us/iis/configuration/system.webserver/security/ipsecurity/ – Mino

Problemi correlati