2016-04-08 29 views
6

Sto seguendo l'applicazione di esempio di un server Web, gestendo le richieste in arrivo tramite TCP con una porta.UWP Raspberry Pi Webserver issue

applicazione di esempio con codice: https://incredibits.io/project/windows-10-iot-internet-of-things-tips/windows-10-iot-raspberry-pi-web-server

Quando il debug dell'applicazione UWP sulla mia macchina di Windows 10, e tentare di accedere al IP locale (192.168.xx < - Naturalmente ho inserito la mia attuale IP locale) I ottenere quello che dovrei. L'applicazione ottiene una richiesta in arrivo e restituisce alcuni dati a me (il client) su un altro mio computer.

I problemi che sto affrontando sono quando li distribuisco nel mio Raspberry Pi 3 con Windows 10 IoT Core (il più recente da Insider), non riesco a accedere all'applicazione dal mio computer client. È una cosa con il firewall di Pi o qualcos'altro che impedisce questo?

POSSO accedere all'interfaccia Web di IoT Core sulla porta 8080, ma non riesco ad accedere alla mia applicazione in esecuzione sulla porta 80. (Ho provato a cambiare la porta con un'altra, funziona localmente sul mio Windows 10 ma non sul Pi)

Qualcuno conosce una soluzione o ha affrontato un problema simile?

Nota: Ho anche provato esempi come (https://ms-iot.github.io/content/en-US/win10/samples/BlinkyWebServer.htm) che ancora una volta, funziona sul mio Windows 10 pc, e si può accedere dal mio altro PC se la loro sulla stessa rete, ma non sul mio Pi)

+1

Bene, è un firewall? La disattivazione dovrebbe essere il passaggio 1 nel debug. – canton7

+0

@ canton7 Questa è la cosa, ho cercato e non sembra il Raspberry Pi su Windows 10 IoT Core ha un firewall? Non riesco a vedere un modo per disabilitarlo tramite SSH. –

+0

Wow, sembra davvero suonare un campanello. Sfortunatamente, sono in vacanza e non ho accesso a tutte le mie cose. Non sto usando il core IoT di Windows 10 ma una versione di Linux su Intel Edison. Un paio di note. Il core IoT punta all'IoT industriale, quindi sono sicuro che abbia integrato la sicurezza. Prova un altro client (non la tua piattaforma di sviluppo). Controlla il tuo router, il nucleo dell'IoT e i firewall del computer di sviluppo. Alcuni stack industriali hanno liste bianche. –

risposta

6

Ho trovato la soluzione al mio problema.

La porta che stavo usando, non è stata aperta nel firewall di Raspberry Pi. Non riuscivo a trovare il modo di aggiungere una regola per il firewall, ma dopo un po 'di aiuto su Freenode forum C# Chat, ho trovato il seguente frammento:

Prima annoto nel Pi attraverso PowerShell

Enter-PsSession -ComputerName MyRaspberryPi-Credential MyRaspberryPi\Administrator 

Poi ho aggiungi manualmente l'apertura del firewall della porta che sto usando. In questo caso la porta 8080.

netsh advfirewall firewall add rule name="Raspberry Pi Webserver" dir=in action=allow protocol=TCP localport=8080 

Dopodiché, tutto ha funzionato come previsto. Potrei accedere alla porta sul mio Raspberry Pi! Tutto bene!

Grazie a @ canton7 e @ taylor-kidd nei commenti, per venire con suggerimenti che alla fine mi hanno aiutato!

EDIT 12 aprile: Sembra che questo problema con il firewall non essere aperto, era in realtà un problema noto da Microsoft già. Lo scrivono nelle loro note di Relase per l'anteprima di Insider versione 14295 (che sto usando) qui http://ms-iot.github.io/content/en-US/win10/ReleaseNotesInsiderPreview.htm