Sito Web su Raspberry da rendere pubblico

Pubblicità

Baio84

Nuovo Utente
Messaggi
31
Reazioni
0
Punteggio
35
Buongiorno a tutti,
dopo aver smanettato per giorni mi ritrovo qua per chiedervi aiuto.

Ho creato un piccolo sito con Node JS e portato sul mio Raspberry. Faccio partire il codice e sul browser, in localhost, tutto a posto.

Ora, la mia intenzione era di collegare questo mio sito ad un dominio collegato all'indirizzo IP pubblico del mio router WebCube di WindTre.

Ho letto diverse guide ma mi sfugge qualcosa. L'unica cosa che ho capito è che siccome ho un indirizzo IP pubblico dinamico, ho bisogno di un DDNS che ho già attivato da NoIp.

Penso che io non riesca a far comunicare il router con il Raspberry. Ho provato anche ad installare OpenVPN, ma poi con FileZilla non riesco a connettermi.

Ringrazio tutti quelli che mi vorranno aiutare a sbrogliare questa matassa!
 
Dipende come hai implementato il "sito" in node e da quali impostazioni offre il tuo router. In generale devi scegliere quale porta usare dall'esterno e redirezionare il traffico su tale porta verso il tuo server/applicativo node. Di norma si usa la 80 per HTTP e 463 per HTTPS ma puoi usare quella che vuoi (es. tuosito.com:12345)

Una volta che il traffico viene indirizzato verso il tuo dispositivo/app, bisogna vedere se questo e' in grado di gestire le richieste in autonomia o meno.
Se hai usato un qualche server node (es. express) allora puoi far rispondere direttamente questo.
Se invece si parla di risorse statiche come ad esempio pagine HTML o bundle Javascript ti serve un qualche web server (es. nginx) che gestisca la richieste e vada a prendere tali risorse.

Spesso si preferisce comunque mettere tutto dietro ad un webserver e tenere l'applicazione "isolata" e non direttamente raggiungibile.

Piccola nota: consentire l'accesso remoto ad una macchina nella propria rete locale porta con se' alcuni rischi. Nulla che non possa essere gestito ma vale la pena tenerlo sempre in mente.
 
Sì, il sito è creato con express. Gestisco io le richieste.

Ho paura che il mio router non abbia le impostazioni necessarie. E' uno di quei cubi della WindTre col 4G. Ha alcune impostazioni come Server Virtuale che forse fanno al caso mio, ma ho provato a configurarlo ma senza alcun risultato. In più non so bene cosa modificare per ottenere un qualche tipo di informazione.

Ho provato a guardare per un VPS online, ma sono troppo cari per quello che devo fare io. Per questo cercavo di fare tutto col Raspberry
 
Per lo specifico router non so aiutarti piu' di tanto. In linea di massima devi cercare una qualche opzione che permetta l'inoltro delle porte/richieste, ma ogni router ha la sua interfaccia (ed alcuni non hanno tale funzione). Se non trovi nulla puoi provare a chiedere nella sezione dedicata (o fai spostare la discussione), qualcuno sapra' aiutarti :)

Per i VPS in passato mi ero trovato bene con OVH, avevano piccole istanze a poco meno di 3 euro al mese, piu' che sufficienti per piccole applicazioni. Altrimenti dai un'occhiata ai vari "big" del cloud, come AWS, Azure ecc, a volte hanno periodi di prova piuttosto estesi (AWS offriva 12 mesi sul tier base mi pare) ed anche i prezzi normali non sono male su istanze cosi piccole.

Non so che requisiti abbia la tua applicazione in termini di storage, capacita' di calcolo e affidabilita'. Per esperienza personale non e' cosi banale tenere attivo un servizio "in casa", anche se in qualche caso conviene.
 
Gli operatori normali in 4G non danno IP pubblico, quindi non puoi pubblicare il sito di internet. Puoi prendere una VPS e pubblicarlo su quella
 
Ho proprio paura che sia un problema di router.

A questo punto opto per un VPS a pagamento per un anno in modo da riuscire a mettermi online e in quest'anno riuscire ad implementare qualcosa per poi riuscire a fare andare il tutto col Raspberry.

Intanto vi ringrazio
 
Ho proprio paura che sia un problema di router.

A questo punto opto per un VPS a pagamento per un anno in modo da riuscire a mettermi online e in quest'anno riuscire ad implementare qualcosa per poi riuscire a fare andare il tutto col Raspberry.

Intanto vi ringrazio
E' meglio che resti sulla VPS. Altrimenti sul Raspberry ti tiri addosso un sacco di rogne da gestire in merito alla sicurezza e agli attacchi DoS.
 
Con indirizzi IP, porte, protocolli ecc. faccio fatica ad orientarmi. Però ci sono quasi.

Caricato sul VPS di OVH la mia applicazione web in NodeJS. La faccio partire sulla porta 3000, vado all'indirizzo IP del VPS e vedo tutto.

Ora l'applicazione la voglio far partire dalla porta 80, in modo che quando vado ad inserire l'indirizzo IP non devo esplicitare la porta. Il problema è che quando faccio partire il programma, Node non ha i permessi per la porta.

Quindi, devo vedere se la porta 80 è attiva direttamente sul VPS, o mi devo collegare al sito di OVH e vedere se c'è qualche impostazione da modificare?
 
Con W3 sei sotto nat, non puoi raggiungere la tua rete dall'esterno.

Non è che sull'80 c'è già altro?
 
La porta 80 non è utilizzata. Devo controllare se è attiva?

EDIT: Risolto. Non davo il comando col sudo. O meglio, davo 'sudo npm start' ma mi dava l'errore. Invece facendo partire direttamente il file node con 'sudo node app.js', è andato tutto a posto
 
Ultima modifica:
Occhio che farlo girare come utente root non e' il massimo della sicurezza. Un eventuale falla potrebbe garantire ad un attaccante l'accesso ad un processo in esecuzione con massimi privilegi... Non succede eh, ma se succede...
Io di solito imposto un reverse proxy e lascio le applicazioni in esecuzione su porte non esposte (sopra la 1024). Praticamente tutti i web server supportano i reverse proxy quindi uno vale l'altro, personalmente mi trovo bene con nginx.

Valuta anche l'utilizzo di HTTPS (porta 443) al posto di HTTP. Eviti di mandare i dati in chiaro (cosa importante) e ti risolvi potenziali problemi futuri con i browser che si lamentano sempre di piu' delle connessioni non sicure (a ragione).
Se ti interessa dai un'occhiata al progetto LetsEncrypt, e' un servizio gratuito che ti genera (e tiene aggiornati) i certificati SSL; lo configuri una volta e puoi dimenticartene!
 
Pubblicità
Pubblicità
Indietro
Top