Autore Topic: Comunicazione remota con server apache  (Letto 465 volte)

Offline Dincht

  • Nuovo arrivato
  • *
  • Post: 3
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Sistema operativo:
    Ubuntu
Comunicazione remota con server apache
« il: 22 Luglio 2015, 07:54:06 CEST »
0
Salve
Sono giorni che non riesco a risolvere questo problema. Sto sviluppando una applicazione che fa alcune chiamate http verso un webserver Tomcat nel quale ci sono delle servlet. Il problema é che in locale funziona tutto,  mentre quando connetto il cellulare  ad internet  e provo a connettermi mi da errore. Inoltre se provo ad accedere dal browser di un altro PC allo stesso url, esce una pagina di errore la quale però non é fornita da apache Tomcat ma da apache 2.4.7.
Bisogna forse configurare una sorta di redirezione tra i 2 apache oppure quale potrebbe essere il problema?

Offline Sakazaki

  • Utente normale
  • ***
  • Post: 396
  • Respect: +74
    • Mostra profilo
  • Dispositivo Android:
    Sony xperia Z
  • Play Store ID:
    Saka Labs
  • Sistema operativo:
    Windows 8
Re:Comunicazione remota con server apache
« Risposta #1 il: 22 Luglio 2015, 15:56:31 CEST »
+1
Una cosa è apache web server (per definizione contenuti statici), una cosa è apache tomcat (che è un application server: contenuti dinamici).
Apache ws risponde di default alla porta 80 (quindi non serve specificarla), tomcat alla 8080 (e serve specificarla).
Apache ws può fare da "ponte" verso uno o più tomcat in modo trasparente all'utente, ma per farlo deve essere opportunamente configurato via connector.
E' configurato il connector? Serve passare dal ws o basta accedere direttamente al tomcat? Se è così l'url per recuperare i dati specifica la porta corretta? e la porta da cui risponde è accessibile dall'esterno (aka da internet)?

Offline Dincht

  • Nuovo arrivato
  • *
  • Post: 3
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Sistema operativo:
    Ubuntu
Re:Comunicazione remota con server apache
« Risposta #2 il: 22 Luglio 2015, 22:13:05 CEST »
0
Grazie mille,  mi hai dato un idea più chiara della situazione.
A me apache ws non serve perché devo fare tutto tramite chiamate a servlet e quindi devo  usare Tomcat,  o almeno vorrei usare solo quello.  Il fatto é che in localhost funziona tutto, ma quando provo a far girare l applicazione e a connettermi con il 3g all ip pubblico del server sulla porta 8080, mi viene riportato l errore 403 con scritto forbidden accessori porta che ho aperto tramite portforwarding dal modem é l 80, devo aprire anche l 8080?
Per quanto riguarda i connector invece, per caso mi sai indicare una guida valida in caso mi serva? Io non sono riuscito a trovarne

Offline Sakazaki

  • Utente normale
  • ***
  • Post: 396
  • Respect: +74
    • Mostra profilo
  • Dispositivo Android:
    Sony xperia Z
  • Play Store ID:
    Saka Labs
  • Sistema operativo:
    Windows 8
Re:Comunicazione remota con server apache
« Risposta #3 il: 23 Luglio 2015, 09:54:15 CEST »
0
Difficile darti indicazioni mirate non avendo idea dell'architettura complessiva (cosa comunque che sarebbe complessa da descrivere).
Però qualche indicazione di massima si può ricavare per darti degli spunti per indagare in modo più mirato.
Se ti risponde con un 403 vuol dire che è l'apache ws che sta rispondendo, a titolo di curiosità trovi una buona spiegazione dell'errore > qui <
Per configurare i connectors ti rimando al link che ti avevo già indicato, che è poi la documentazione ufficiale, > qui <

Ad ogni modo da quello che scrivi direi che non ti serve passare per il web server ma ti basta poter accedere direttamente all'application server. Io lavorerei sul port forward del modem per fare in modo che le richieste che arrivano all'ip pubblico sulla porta 80 vengano ribaltate sull'8080, o al limite fare il port forward anche dell'8080 in modo che sia accessibile anche via ip pubblico. Una volta che vedi che funziona da browser usando l'ip pubblico puoi provare con il dispositivo. L'importante è che quando chiami l'ip pubblico, dopo aver fatto il port forward, indichi la porta corretta nell'url di chiamata: se hai fatto il forward 80 -> 8080 non serve indicarla, se hai fatto il forward 8080 -> 8080 si.
In linea di massima se ti risponde dal browser ti risponderà anche da cellulare.

Offline Dincht

  • Nuovo arrivato
  • *
  • Post: 3
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Sistema operativo:
    Ubuntu
Re:Comunicazione remota con server apache
« Risposta #4 il: 23 Luglio 2015, 11:38:39 CEST »
0
Funziona!
E' stato esattamente come hai detto, ho fatto il port forwarding instradando verso la porta 8080 le connessioni che arrivano sulla porta 80 ed effettivamente adesso funziona senza problemi!
Grazie mille veramente,mi hai risolto un problemone!