Useiden sivustojen isännöinti samaa IP: tä ja portteja käyttämällä IIS: ssä - Windows Server 2008

Mietin, kuinka voin käyttää palvelinta A uudelleenohjaamaan eri URL-osoitteet kyseiseen palvelimeen. Tässä on asetukseni:

Palvelin A: apache 2.4 Ubuntu 16: ssa Palvelin B: apache 2.4 Windows 2012: ssa

Portti 80 välitetään palomuurin palvelimelle A. Oletetaan, että haluan URL-osoitteen http://hr.xyz.com välitettävän osoitteeseen https: //hr.xyz.com palvelimella B, miten voin saavuttaa tämän (ilmoituksen muutos portista 80 arvoon 443)?

Olen kokeillut ProxyPass & RewriteEngine -ohjelmaa (erikseen, ei samanaikaisesti) 000-default.conf, mutta ei ole onnistunut

ProxyPass Palvelin A:

 ServerName hr.xyz.com ProxyRequests Off  Order deny,allow Allow from all  ProxyPass / https://ip.from.server.B:443/ ProxyPassReverse / https://ip.from.server.B:443/  Order allow,deny Allow from all   

Kirjoita uudestaan ​​moottori:Palvelin A

On server A  ServerName hr.xyz.be RewriteEngine on RewriteCond %{HTTPS} off RewriteRule ^/?(.*)$ https://hr.xyz.com/$1 [NE,L,R=301]  

Palvelin B:

RewriteEngine on RewriteCond %{HTTP_HOST} !^hr.xyz.com$ [NC] RewriteRule ^/?(.*)$ https://hr.xyz.com/$1 [NE,L,R=301] 

Mutta kai RewriteEngine on tarkoitettu konfiguroitavaksi vain samalle Apache-palvelimelle, ei 2 kuten minun tapauksessani.

Voisiko joku neuvoa minua menestymään, kiitos?

  • Sinun on ehkä kirjoitettava uudestaan ​​käänteisellä välityspalvelimella: httpd.apache.org/docs/2.4/rewrite/proxy.html
  • "Mutta kai RewriteEngine on tarkoitettu konfiguroitavaksi vain samalle Apache-palvelimelle" - mitä tarkoitat tällä? Mitä tapahtuu? Mikä on haluttu tulos? Lähettämällä "edelleenlähetys osoitteeseen https: // ..." haluatko lähettää vastauksen takaisin alkuperäisen suojaamattoman HTTP-yhteyden kautta? Toisin kuin varsinainen uudelleenohjaus? Voit käyttää mod_rewrite -ohjelmaa myös mod_proxyn kanssa, mutta esimerkissä annat ulkoisen uudelleenohjauksen.
  • @DocRoot: Tarkoitan, että luulen, että voit käyttää RewriteEngineä ja http -> https -sääntöjä vain samassa palvelimessa, ei kahdessa erillisessä palvelimessa kuin minun tapauksessani. Haluttu tulos on, että ihmiset ohjataan osoitteesta hr.xyz.com osoitteeseen hr.xyz.com. Ongelmana on, että portissa 80 on toinen sivusto (eri URL-osoite), jonka on vielä oltava käytettävissä.
  • Ei ole väliä onko kyseessä fyysisesti yksi palvelin vai kaksi. mod_rewrite ei ole tietoinen tästä. Tärkeää on missä https://hr.xyz.com/ päättää. Joten se on ulkoinen uudelleenohjaus jota tarvitset? eli. käyttäjä ohjataan fyysisesti osoitteesta http://hr.xyz.com että https://hr.xyz.com? Termien "edelleenlähetetty" ja "välityspalvelin" käyttö viittaa kuitenkin toisin? Mitä haluat käyttäjän näkevän selainten osoiterivillä?
  • Oppin edelleen apache-sovellusta, joten anteeksi, jos väärinkäytän joitain termejä, kuten forward & proxy. Se, mitä kuvaat, on juuri se, mitä haluan: käyttäjä kirjoittaa 'hr.xyz.com', joka sitten ohjataan osoitteeseen 'hr.xyz.com' (joka on myös selaimen osoite.

Olen ratkaissut tämän paljon yksinkertaisemmalla tavalla kuin alkuperäiset ajatukseni. Olen käyttänyt vain palvelinta B tähän asetukseen.

Kuten apache-dokumentaatiossa on kuvattu, voidaan käyttää redirect.

Lisäsin ylimääräisen virtuaalipalvelimen osoitteeseen de httpd.conf

 ServerName hr.xyz.com Redirect 301 / https://hr.xyz.com 

Tämä johtaa URL-osoitteen uudelleenohjaamiseen http://hr.xyz.com että https://hr.xyz.com mitä halusin!

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