Sito Web su Raspberry da rendere pubblico

Baio84

Nuovo Utente
31
0
CPU
Intel Pentium 4
Scheda Madre
ASUS Oxford
HDD
150 GB
RAM
DDR 1,50 GB
GPU
GeForce 6200
Monitor
Benq T720
OS
Windows 7 Ultimate 32 bit SP1
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!
 

icox

Utente Attivo
497
246
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.
 

Baio84

Nuovo Utente
31
0
CPU
Intel Pentium 4
Scheda Madre
ASUS Oxford
HDD
150 GB
RAM
DDR 1,50 GB
GPU
GeForce 6200
Monitor
Benq T720
OS
Windows 7 Ultimate 32 bit SP1
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
 

icox

Utente Attivo
497
246
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.
 

r3dl4nce

Utente Èlite
16,874
9,223
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
 

Baio84

Nuovo Utente
31
0
CPU
Intel Pentium 4
Scheda Madre
ASUS Oxford
HDD
150 GB
RAM
DDR 1,50 GB
GPU
GeForce 6200
Monitor
Benq T720
OS
Windows 7 Ultimate 32 bit SP1
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
 

PippoGold

Utente Attivo
1,193
527
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.
 
  • Mi piace
Reazioni: Moffetta88

Baio84

Nuovo Utente
31
0
CPU
Intel Pentium 4
Scheda Madre
ASUS Oxford
HDD
150 GB
RAM
DDR 1,50 GB
GPU
GeForce 6200
Monitor
Benq T720
OS
Windows 7 Ultimate 32 bit SP1
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?
 

Dumah Brazorf

Utente cAttivo
Utente Èlite
7,591
3,532
Con W3 sei sotto nat, non puoi raggiungere la tua rete dall'esterno.

Non è che sull'80 c'è già altro?
 

Baio84

Nuovo Utente
31
0
CPU
Intel Pentium 4
Scheda Madre
ASUS Oxford
HDD
150 GB
RAM
DDR 1,50 GB
GPU
GeForce 6200
Monitor
Benq T720
OS
Windows 7 Ultimate 32 bit SP1
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:

icox

Utente Attivo
497
246
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!
 

Moffetta88

Moderatore
Staff Forum
Utente Èlite
20,546
12,933
CPU
i5-4690
Dissipatore
DEEPCOOL CAPTAIN 240EX
Scheda Madre
MSI Z97 U3 PLUS
HDD
KINGSTON SSD KC400 240GB
RAM
24GB BALLISTIX SPORT @2133MHz
GPU
STRIX GTX980 DC2OC
Audio
INTEGRATA
Monitor
AOC G2590VXQ
PSU
BEQUIET! System Power 7 500W
Case
DEEPCOOL MATREXX 55
Periferiche
NESSUNA
Net
EOLO 100
OS
UBUNTU/WINDOWS11
Io di solito imposto un reverse proxy e lascio le applicazioni in esecuzione su porte non esposte
🔝🔝 🔝 🔝 🔝 🔝 🔝 🔝 🔝
 

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!