Come posso rendere il mio PC di casa un web server?


8

Sto eseguendo Apache Tomcat sul mio PC. Il mio PC è collegato a un router di casa mia e il router è collegato al mio ISP. Ora voglio eseguire un server sul mio PC in modo che il mio amico possa visualizzare il mio sito ospitato sul mio PC. Se vado sul sito https://whatismyip.com so che il mio indirizzo IP è xx.xx.xx.xx. Questo è l'IP del mio router immagino. Se scrivo http: //xx.xx.xx.xx nel mio browser, il mio router richiede un nome utente e una password. Ciò significa che il mio amico può connettersi al mio router. Come posso consentire loro di vedere il sito ospitato su Tomcat in esecuzione sul mio PC?

Non voglio usare l'hosting commerciale e voglio usare il mio PC solo come server per alcuni motivi.

L'IP interno del mio router è 192.162.1.1 e del mio PC è 192.162.1.2.


3
No, non serverfault. Questa è una domanda per l'utente finale, non per un amministratore di sistema. Questo dovrebbe andare su superuser.com.

Forse che sei dietro un proxy.

Suppongo che questo PC esegua Windows? Un PC con Linux richiederebbe istruzioni leggermente diverse.
David Thornley,

Risposte:


14

È necessario inoltrare le richieste al server web (porta 80, probabilmente) alla propria macchina (.1.2). Lo configuri sul tuo router.


2
Si noti che questo è generalmente indicato come "Port Forwarding" sui router. Un metodo più semplice, sebbene meno sicuro, è utilizzare DMZ sul router per aprire tutte le porte al server web. Questo a volte rende più semplice l'hosting di più servizi sul server Web, come server di gioco, server VoIP, ecc.
Will Eddins,

1
E stai molto attento all'apertura delle porte per le richieste in arrivo. C'è un sacco di gente là fuori che bussa alle porte con indirizzi IP casuali per vedere chi risponde.
David Thornley,

11

Dovrai fare alcune cose:

  • Assicurati di cambiare la password del router e bloccare il router, poiché renderai il tuo IP pubblicamente disponibile, la configurazione del router è molto importante. Probabilmente sarebbe una buona idea scaricare l'ultimo firmware per prevenire exploit di sicurezza.

  • Inoltra le tue richieste web al tuo computer locale, sul tuo router. Cerca un'opzione "port forwarding", che costringerà tutte le richieste su una determinata porta che il tuo router verrà inoltrato all'indirizzo IP della tua macchina

  • cerca di assicurarti che il tuo indirizzo IP interno rimanga lo stesso. Alcuni router avanzati possono riservare un determinato indirizzo IP per l'indirizzo MAC del tuo computer, quindi fai questa configurazione sul tuo router. Se il software del router non è in grado di farlo, probabilmente dovrai aggiornare il tuo indirizzo IP interno nella mappatura "port forwarding" ogni volta che il tuo computer si riavvia (o ottiene in qualche modo un altro indirizzo IP). Puoi anche configurare il tuo computer in modo che utilizzi un indirizzo IP interno codificato, ma ciò potrebbe aggiungere ulteriori problemi al di fuori dell'ambito di cui discutere qui.

  • se il tuo ISP ti fornisce un indirizzo IP dinamico, può diventare una seccatura inviare al tuo amico il tuo nuovo indirizzo IP ogni volta che cambia, così puoi iscriverti a un servizio IP dinamico (www.dyndns.org) che avrà un programma che aggiornerà una voce DNS per te. La maggior parte dei router moderni ha questo server integrato nel firmware, puoi cercarlo e non devi eseguire il software sul tuo computer.

  • per motivi di sicurezza, ridurre il numero di altre richieste che vengono inviate a questa macchina (ad es. condivisione file di Windows, ftp, bit torrent, ecc. ecc.).

  • La porta 80 è la porta predefinita utilizzata dai browser e dai server Web, quindi quando si accede a un sito http://www.mysite.com , la si richiede sulla porta 80)

  • La porta 8009 è la porta predefinita utilizzata da Tomcat, quindi se si utilizza Tomcat, è possibile sostituire la porta 80 con la porta 8009 di seguito.

  • Non è necessario eseguire altre configurazioni delle porte per il server Web sul computer locale, è possibile fare in modo che il router esegua il mapping e lasciare il server Web in esecuzione sulla porta 80 o 8009 sul computer.

  • Ad esempio, supponiamo che io voglia utilizzare la porta 12345, quindi posso configurare il mio router in modo che tutte le richieste sulla porta 12345 sul mio router vengano inviate alla porta 80 (o 8009) sul mio computer locale. Ciò ti consente di accedere al nostro server Web su quella macchina semplicemente andando su http: // localhost / o http: // localhost: 8009 . Altre macchine interne sulla tua rete dovranno accedere tramite indirizzo IP ( http: //192.168.1 . X ) oppure puoi modificare i file degli host yoru e assegnare un nome.

  • È importante sapere che la maggior parte della porta di blocco 80 dell'ISP (e altre porte comuni) viene utilizzata come server Web , quindi anche se si dispone di tutte le proprietà configurate sulla propria estremità, il proprio amico potrebbe non essere in grado di colpire la porta 80 sulla propria macchina . In genere, ciò viene fatto in modo che i clienti dell'ISP sborsino più denaro per le loro offerte "commerciali". Per questo motivo, probabilmente dovrai aprire il router su un'altra porta se vuoi davvero che il tuo amico acceda al tuo server web. Ti consigliamo di stare lontano da porte con un numero basso e di evitare di utilizzare anche la porta da cui è configurato il tuo router.

Se esegui correttamente tutto quanto sopra, dovresti essere in grado di avere un URL stabile (come http://myusername.dyndns.org:12345 ) che i tuoi amici possono aggiungere ai segnalibri e usare a piacimento



1

Devi inoltrare la tua porta Tomcat sul tuo router. La porta Tomcat predefinita è 8080. È preferibile cambiare la porta Tomcat in 80. Seguire i passaggi seguenti per cambiare la porta Tomcat

  1. Apri la cartella tomcat \ conf sul tuo computer
  2. Ora con un editor di testo devi aprire e modificare server.xml. Qui devi identificare la seguente riga (riga 184) e modificarla in modo che cambi da:

per:

<Http10Connector port="80"
secure="false"
maxThreads="100"
maxSpareThreads="50"
minSpareThreads="10" />
  1. Avvia il server web

Dal router inoltra la porta 80 dal router all'indirizzo IP del tuo PC. Una volta fatto, dì al tuo amico di accedere al tuo sito web usando http: //xx.xx.xx.xx/webAppName . Qui xx.xx.xx.xx è il tuo indirizzo IP e webAppName è il progetto del tuo sito web.

Per impostazione predefinita, gli ISP bloccano la porta 8080, quindi è necessario modificare la porta utilizzata da Tomcat.


Gli ISP generalmente non bloccano le porte per impostazione predefinita. Questo potrebbe essere il caso nella tua città / paese (sto indovinando gli Stati Uniti), ma non è certamente il caso in generale. In molti paesi gli ISP hanno effettivamente termini di servizio abbastanza equi, senza alcun blocco delle porte (o limiti di larghezza di banda per quella materia).
Mikael Auno,

Il mio blocca la porta 80 ma consente 8080! È diverso per ciascun ISP.
Kevin Panko,

0

Se non sei interessato al port forwarding o se sembra complicato, la maggior parte dei router ha un'impostazione chiamata DMZ. Inserisci il tuo server web (la macchina che ospita il sito Web) nella DMZ per consentirne la visualizzazione dal mondo esterno. Quindi, se non hai registrato un nome di dominio, inserisci il tuo amico nel tuo IP nel tuo browser.


Dato che apparentemente l'OP non è un esperto in questo genere di cose, suggerirei di non sbloccare efficacemente tutte le porte. Ci sono abbastanza exploit là fuori, e non c'è fine alle persone che eseguono la scansione di porte e indirizzi IP per provare a utilizzare quegli exploit e qualcuno che ha bisogno di aiuto a questo livello non è in grado di sapere come fermarli. DMZ è un po 'come "PWN ME".
David Thornley,

0

Dovrai impostare "port forwarding" sul router della porta 80 (http) sul tuo PC e ti consiglio anche di impostare "DHCP statico" in modo che il router sempre assegni lo stesso IP al tuo PC all'avvio.

Nota che stai esponendo il tuo PC al mondo degli hacker mentre lo fai. Assicurati di avere una versione corrente di apache / tomcat installata e di applicare gli aggiornamenti regolarmente.

Se il tuo router lo supporta, potresti voler impostare "DNS dinamico" per assegnare alla tua macchina un nome permanente su Internet (anziché un IP a volte mutevole). Dai un'occhiata a dyndns.com e guarda le loro opzioni DNS dinamiche gratuite.


0

L'IP statico è un must ... Se disponi di IP dinamico, continua a cambiare e devi conoscere il tuo amico per conoscere il nuovo IP

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.