Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2022
    Messaggi
    8

    Connettere una applicazione server accessibile da rete esterna

    Salve,
    sono nuovo nel forum e saluto cordialmente tutti.
    Spero che qualcuno sappia aiutarmi per trovare la soluzione al mio quesito.
    Sto lavorando ad un progetto che prevede che ci sia un pc con funzione di server che si trova in una posizione remota, quindi connesso ad un router WiFi e ha l'indirizzo IP fornito dal router per quanto riguarda la rete interna ed esce su internet tramite l'indirizzo IP fornito dal ISP che non è statico , ma può variare a discrezione del fornitore del servizio. Questo server ha la funzione di ricevere le chiamate da client remoti che poi a sua volta rigira ad un altro server che fornisce delle particolari Api e quando riceve la risposta la restituisce al client che ha fatto la richiesta.
    Il server che ho già realizzato è funzionante se lavoro in una rete locale, ma il problema a cui non riesco a venire a capo è come far si che questo server sia raggiungibile da fuori della rete da altri pc connessi ad internet.
    Ho aperto una porte NAT sul router, ma non è sufficiente perché non riesco ad accedere dall'esterno.
    Prima di aprire la porta NAT ho provato a realizzare una VPN tramite Hamachi ma non sono riuscito a configurare neanche questa perché nonostante avessi abilitato il programma sul firewall di windows e in seguito lo avessi disattivato completamente ottenevo sempre il messaggio di traffico in entrata bloccato.

    Quello che chiedo è se qualcuno mi può fare una sorta di tutorial per poter risolvere questo problema in qualche modo.
    Grazie in anticipo!

  2. #2
    questo server locale lo chiami tramite IP o tramite il suo nome?

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2022
    Messaggi
    8
    Ciao, grazie per l'interesse.
    Allora il server in locale lo chiamo con il nome tramite
    Socket s = new Socket("DESKTOP-ES6OB57",9999) e funziona

  4. #4
    prova con l'ip, che sarà anche il modo con cui raggiungerai il server in remoto

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2022
    Messaggi
    8
    Ho provato anche indicando l'indirizzo ip, ma niente da fare

  6. #6
    che vuol dire "niente da fare"? ricevi un errore? quale? in locale con l'ip funziona? il server remoto è protetto da un firewall? hai aperto le porte? hai usato l'ip pubblico del server remoto? dacci qualche info, dai, non il solito "non funziona"...

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2022
    Messaggi
    8
    Ciao optime, scusa se rispondo a singhiozzo, ma in questi giorni ho tante cose da fare che raramente trovo il tempo per connettermi al pc.
    Allora provo a ricostruire la situazione.
    Utilizzando il pc che ospita il server all'interno della stessa rete il server viene regolarmente raggiunto, sia che lo chiamo tramite indirizzo ip locale 192.168.1.126, sia se lo chiamo col suo nome.
    Sul router in mio possesso ho abilitato una porta per testare il server, la 9999. Nel router (Tim) viene chiesto anche a quale dispositivo dirottare le chiamate ed ho specificato lo stesso indirizzo ip 192.168.1.126. Per essere sicuro che il firewall di windows non bloccasse le chiamate in entrata ho sospeso il servizio. Il risultato comunque è stato "Connection timed out"
    Avevo anche provato a mettere l'app server in un altro pc con un altro router. In quel caso le porte all'apertura della porta non è richiesta l'associazione dell'indirizzo ip su cui inviare i pacchetti, per cui sono state semplicemente aperte.
    Stesso errore di Connection timed out.
    Ho provato anche ad attivare il servizio DynDNS. I testo online davano corretta indirizzamento DynDNS, ma alla richiesta di connessione al server, specificando il nome dell'host non ha ottenuto niente di diverso.
    Insomma questo è quello che ho saputo fare e non so cos'altro fare e per questo mi rivolgo alla comunità

  8. #8
    ah, quindi è un applicativo che hai in casa che deve essere chiamato da fuori casa? (casa o ufficio che sia) avevo capito il contrario...

  9. #9
    Utente di HTML.it
    Registrato dal
    Feb 2022
    Messaggi
    8
    e si questo è l'intento.
    Stamattina sono riuscito creare una VPN tramite Hamachi, col quale avevo fallito alcuni giorni fa, che mi consente di far comunicare il server con i client, ma è una situazione restrittiva, perché comunque mi devo appoggiare al servizio di Hamachi che è limitato a 5 dispositivi connessi o più se a pagamento. Ma al di là del costo e del fatto di aver aggirato il problema con questa VPN, vorrei poter comunque trovare la soluzione far comunicare il server tramite connessione diretta.

  10. #10
    Dunque, partiamo dal client che fa la richiesta all'applicativo....
    Il client, situato in Polonia (così è più facile capire), esegue una chiamata a un "ip/dominio", che chiamiamo "pippo.com". Quando la chiamata arriva a "pippo.com", ovvero al router che ha quel famoso Ip dinamico, il router deve inoltrare la richiesta a un pc interno della rete. Una volta inoltrata la richiesta dal segmento WAN al segmento LAN, la richiesta arriva al pc/server che chiamiamo "server" ....
    "Server" inoltra la chiamata a un altro servizio (interno o esterno non ci interessa, per ora) che restituisce una informazione che va rigirata al client in Polonia. Giusto?

    Quindi, con Dydns configuri il tuo dominio "pippo.com" e imposti sul router il servizio ddns.
    Sul router apri la porta 80 (o 345 o 64023, a te la scelta) e la ridirigi verso l'ip interno 192.168.1.x sulla porta xyz.
    Sul server installi un qualsiasi servizio server (ftp, web, smtp....vedi tu. Ti serve solo per fare delle prove di raggiungibilità) e lo configuri al minimo. Ti suggerisco apache o ngix lasciando tutto di default.
    Da un client ESTERNO (se vuoi provi con uno dei vari proxy online) devi provare a fare una chiamata a pippo.com in modo adeguato....ovvero, andiamo a ipotesi:
    configuri apache, in ascolto sulla porta 80 del server. Apri la porta 6543 sul router e redirigi il traffico al server sulla porta 80 ( ... ), da un pc esterno (o dallo smartphone, è uguale) vai all'indirizzo http://pippo.com:6543 (o quello che è il tuo dominio con dyndns) e vedi se ti restituisce la pagina di default di apache/ngix

    Per ciò che riguarda invece il resto del percorso (dal "server pippo.com" al server applicativo delle Api) dovrai verificare che pippo esegua le chiamate e le riceva e successivamente che inoltri la risposta al chiamante. Occhio ai timeout però....le connessioni gestite dai router non durano all'inifinito quindi se trascorre troppo tempo tra quando il client in Polonia fa la richiesta e quando il server "pippo" restituisce la risposta, la connessione si chiude e il client riceve un timeout...

    Se ti serve qualche dritta fai un fischio

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.