Gå til innhold

[Løst] Nå apache site gjennom ruter forwarding


shadowano

Anbefalte innlegg

Hei

 

Jeg har en VM-maskin kjørende med apache i nettverket mitt. På denne maskinen har jeg installert en webapplikasjon som jeg kan nå gjennom apache og port 80 ved å skrive inn maskinnavnet i nettleseren på en annen maskin i nettverket.

 

Om jeg skriver inn ip-adressen til vm-maskinen så svarer ikke siten på dette. Dette blir jo et problem når jeg skal ha serveren tilgjengelig utenifra. I ruteren setter jeg opp en virtual server som redirecter data på port 80 til ipadressen til vm-maskinen, som da gir meg feilmeldingen.

 

Hvordan kan jeg løse dette? Og hvordan ville det blitt om jeg tilfeldigvis skulle kjøre to ulike siter på apache, hvordan redirecter jeg dette korrekt i ruteren?

Endret av martin82
Lenke til kommentar
Videoannonse
Annonse

Apache httpd kan stettes opp på forskjellige måter. En av dem er "named virtual hosts", som gir deg mulighet for å ha flere forskjellige nettsteder (egentlig URL'er, men likevel) på samme Apache httpd-server.

Dersom du bruker "named virtual hosts" så svarer httpd dersom klienten (altså browseren) ber om et av navnene som er konfigurert på httpd. Ok?

En ruter redirecter (vanligvis) kun trafikk basert på ip-adresser og porter, eksempelvis ekstern ip port 80 til intern ip port 80. (Du kan si det slik at ruteren skjønner egentlig ikke at det er http som går der). Ok?

 

En måte å løse dette på er som følger:

1) sette opp et dns-navn for websiten du skal ha (for "vanlige" brukere med dynamisk ip-adresse er DynDNS til hjelp)

2) sette opp redirect i ruteren din fra ekstern ip adrese port 80 til ip adressen på (den interne) webserveren din, port 80

3) konfigurere webserveren din (Apache httpd) til å bruke dns-navnet i punkt 1 som en "named virtual host"

 

4) dersom du har flere interne webservere (flere ip-adresser) så kan ikke ruteren hjelpe deg med det, fordi den kun kan redirecte en til en, dvs. dersom du har redirected ekstern ip adresse port 80 til en intern ip adresse port 80, så får du ikke splittet den. Det man kan gjøre da er å la den første web-serveren (den som er redirected i ruteren) være proxy for eventuelle andre web-servere. Mer konfigurering, men det funker.

 

En ting til: dersom ruteren din ikke har "nat loopback" funksjonalitet, så er det mulig at du vil få problemer med å få kontakt med webserveren din innenfra, fordi ruteren ikke skjønner at pakkene skal sendes inn igjen når de kommer innenfra og har den eksterne ip-adressen til ruteren som destinasjon. Dette er det ikke så lett å gjøre noe med, dessverre.

  • Liker 1
Lenke til kommentar

Jeg fant ut av det. Dyndn adressen jeg bruker må settes opp i httpd-conf, som du skriver. Så hvis jeg skal få den ene webserveren jeg har til å kunne svare for mer enn 1 site (webside) så må jeg vel ha et subdomene eller nytt dyndns navn og sette dette opp på samme måte i httpd-conf(?)

Lenke til kommentar

Apache httpd kan stettes opp på forskjellige måter. En av dem er "named virtual hosts", som gir deg mulighet for å ha flere forskjellige nettsteder (egentlig URL'er, men likevel) på samme Apache httpd-server.

Dersom du bruker "named virtual hosts" så svarer httpd dersom klienten (altså browseren) ber om et av navnene som er konfigurert på httpd. Ok?

En ruter redirecter (vanligvis) kun trafikk basert på ip-adresser og porter, eksempelvis ekstern ip port 80 til intern ip port 80. (Du kan si det slik at ruteren skjønner egentlig ikke at det er http som går der). Ok?

 

En måte å løse dette på er som følger:

1) sette opp et dns-navn for websiten du skal ha (for "vanlige" brukere med dynamisk ip-adresse er DynDNS til hjelp)

2) sette opp redirect i ruteren din fra ekstern ip adrese port 80 til ip adressen på (den interne) webserveren din, port 80

3) konfigurere webserveren din (Apache httpd) til å bruke dns-navnet i punkt 1 som en "named virtual host"

 

4) dersom du har flere interne webservere (flere ip-adresser) så kan ikke ruteren hjelpe deg med det, fordi den kun kan redirecte en til en, dvs. dersom du har redirected ekstern ip adresse port 80 til en intern ip adresse port 80, så får du ikke splittet den. Det man kan gjøre da er å la den første web-serveren (den som er redirected i ruteren) være proxy for eventuelle andre web-servere. Mer konfigurering, men det funker.

 

En ting til: dersom ruteren din ikke har "nat loopback" funksjonalitet, så er det mulig at du vil få problemer med å få kontakt med webserveren din innenfra, fordi ruteren ikke skjønner at pakkene skal sendes inn igjen når de kommer innenfra og har den eksterne ip-adressen til ruteren som destinasjon. Dette er det ikke så lett å gjøre noe med, dessverre.

Takk for utfyllende svar:)

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...