ATT: n käänteisportin edelleenlähetysopastus

Minulla on tällä hetkellä yksi django / nginx-palvelin kytkettynä Arris-reitittimeeni DG1670A / TW (laina Spectrum IP -palvelun tarjoaja). Ehkä seuraavat tiedot ovat tarpeettomia kysymykseeni vastaamiseen, mutta tässä ovat kuitenkin kokoonpanot nykyiselle verkkosivustolleni:

-'firewall-> portin laukaisimet ': - 'lähtevä portti' 80-80 ja 'saapuva portti' 80-80 - 'lähtevä portti' 443-443 ja 'saapuva portti' 443-443

-'palomuuri-> virtuaaliset palvelimet / porttien edelleenlähetys ': - 'lähtevä portti' 80-80 ja 'saapuva portti' 80-80 - 'lähtevä portti' 443-443 ja 'saapuva portti' 443-443

Portteja 80 ja 443 käytetään nykyiselle verkkosivustolle. Mikä on mielipiteesi, neuvosi, vastauksesi tai vaihtoehtoinen ratkaisu kahdelle palvelimelle yhdessä IP-osoitteessa: Voinko käyttää toista fyysistä palvelinta 2. verkkosivustolle (eri verkkotunnus)? Minusta tuntuu, että oletusarvoiset http ja https edellyttävät näitä portteja ja toisen verkkosivuston perustaminen vaatisi käyttäjän kirjoittamaan uuvuttavasti "www.2ndwebsite.com:8080", kun taas nginx on määritetty kuuntelemaan portissa 8080. Ehkä tarvitsen vain uusia laitteisto, jotta tämä toimisi, kuten kytkin?

  • erehtyä? Sinulla voi olla rajoittamaton määrä verkkosivustoja, jotka toimivat samassa portissa, toisin sanoen verkkotunnuksella on tarkoitus. Tätä hoitaa virtuaalinen isäntätiedosto. Voit käyttää yhtä verkkotunnusta (siteA.example.com, siteB.example.com tai käytä moninkertaisia ​​verkkotunnuksia. Voit saada ne kaikki käyntiin 443 tai minkä tahansa haluamasi portin. Apache2, Nginx ja IIS käyttävät yhtä porttia, mutta virtuaalisessa isännässä määrität toimialueesi sijainnille, johon ne on tallennettu levylle, jolloin yksi verkkotunnus palvelee yhtä ja toinen toista, kaikki tehdään kahdella ravinnolla karitsan hännästä.
  • Mutta jos sinulla on kaksi verkkopalvelinta, esim. (Apache2 ja nginx) (ei pidä sekoittaa useisiin verkkotunnuksiin yhdessä instanssissa) jostain syystä, juostaisi kaksi verkkotunnusta, yksi 80, toinen 8080, käyttäjän ei tarvitse tulo :8080 jos tälle portille on määritetty vain yksi toimialue, koska selaimet tarkistavat molemmat 80 ja :8080 kun käytät mitä tahansa verkkotunnusta.
  • DNS osoittaa molemmat sivustot palvelimeni julkiseen IP-osoitteeseen, mutta käyttämäni selain (Firefox) ei tarkistanut 8080: aa. Minun piti liittää portti manuaalisesti verkkotunnukseen.

Tyypillinen tapa käsitellä tätä tilannetta on käänteinen välityspalvelin. Sinulla on kolme verkkopalvelinta:

  1. Taustapalvelin, joka käyttää ensimmäistä sivustoasi. Tämä voi olla missä tahansa valitsemassasi satamassa.
  2. Taustapalvelin, joka käyttää toista sivustoasi. Tämä voi olla missä tahansa valitsemassasi satamassa.
  3. Pääverkkopalvelimesi käyttää Apache- tai Nginx-ohjelmaa kahdella virtuaalisella isännällä, yksi kullekin isäntänimelle. Jokaisen virtuaalinen isäntä on määritetty välittämään yhteys oikeaan taustapalvelimeen. Tämä palvelin toimisi portteissa 80 ja 443, ja todennäköisesti määrität sen käsittelemään kaikkea SSL: ää.

Verkkopalvelimesi voivat kaikki toimia samalla fyysisellä koneella, mutta eri porteissa, jos haluat. Tärkeää on, että käänteinen välityspalvelin on käynnissä oletusportteissa ja suorittaa edelleenkuljetuksen kulissien takana. Tämä piilottaa rumat porttinumerot käyttäjiltä.

  • Kiitos. Olin määrittänyt järjestelmän yhdelle verkkosivustolle. Ajattelen uudelleenkäynnistämistä alusta alkaen kahden sivuston sijoittamiseksi samalle palvelimelle Django-Nginx-kehyksessä seuraamalla muutamia oppaita useista online-lähteistä. En halua ostaa kolmatta konetta tähän prosessiin. Sivustolleni liikennemäärä on vähäinen, joten voin ottaa riskin käytöstä poistamisesta ja järjestelmän uudelleenrakentamisesta.
  • Voit käyttää kaikkia näitä palvelimia yhdellä koneella, jos haluat. Varmista vain, että päinvastainen välityspalvelin toimii pääportteissa ja muut palvelimet joissakin muissa portteissa.

Käytin kahta virtuaalista ympäristöä kullekin sivustolle. Jokaisella sivustolla oli omat nginx-määritystiedostot. Jokaisella sivustolla on erilliset django-runerver-portit. Se toimii...

työskennellyt sinulle: Charles Robertson | Haluatko yhteyttä?