Tramite ngrock è possibile esporre una URL interna sulla rete pubblica, in questo modo è possibile testare il sito locale da qualsiasi punto in internet e da dispositivi mobili.
IIS
Ad esempio avendo un sito su IIS che risponde all'indirizzo http://localhost:2222 è possibile esporlo su internet con uno di questi comandi
a questo punto la soluzione è creare un account su ngrock oppure configurare Visual Studio per usare una URL interna che non è in https come ad esempio http://localhost:23819
DOS / Batch file
ngrok http http://localhost:23819
anche in questo caso però, provando a richiamare la URL pubblica, si ottiene questo messaggio
Bad Request - Invalid Hostname
HTTP Error 400. The request hostname is invalid.
quindi manca ancora un passaggio per esporre i siti in esecuzione da Visual Studio.
Soluzione
Il comando completo è questo che usa il parametro -host-header nella forma
DOS / Batch file
ngrok http -host-header="localhost:<port>" <port>
ad esempio
DOS / Batch file
ngrok http -host-header="localhost:23819" 23819
.Net Core
I progetti in .Net Core sono configurati per fare sempre il redirect su https, quindi non si raggiungerà mai il sito in http.
Per cambiare questo comportamento è necessario commentare questa riga:
C#
app.UseHttpsRedirection();
Attenzione disabilitare questa riga solo in debug, va assolutamente ripristinarlo in produzione.
Web Interface
Una volta che ngrock è in esecuzione è possibile accedere ad una pagina di monitoring (http://127.0.0.1:4040) con il dettaglio di tutte le richieste Monitoring