Mam niektóre subdomeny, które chcę przekierować do określonych portów na tym samym serwerze. Powiedz, że mam
dev.mydomain.com
Chcę w dev.mydomain.com
sposób przejrzysty przekierować mydomain.com:8080
na adres URL przeglądarki i zachować oryginalną nazwę subdomeny.
Jak to zrobić za pomocą Apache 2.2? Mam domyślny port Apache 2.2 80
. Nie mogę wymyślić konfiguracji zapisu, aby tak się stało.
Skonfigurowałem już dev.mydomain.com
rozwiązanie w DNS do mydomain.com
.
Dotyczy to intranetowego serwera programistycznego, który ma nierutowalny adres IP, więc nie martwię się o exploity i zabezpieczenia, które zagroziłyby publicznie dostępnemu serwerowi.
mod_proxy
, jak równieżproxy_http
.Zakładając, że dev.mydomain.com można rozwiązać na adres IP mydomain.com, możesz dodać do httpd.conf:
Odpowiednia dokumentacja Apache:
Powiązane pytanie: Przekierowanie Apache na podstawie nazwy hosta
(Uwaga: oryginalna wersja tej odpowiedzi niepoprawnie sugerowała użycie RedirectMatch, który, jak pomocnie zauważył @ChrisS, nie może przeanalizować części adresu URL domeny).
źródło
Uruchom następującą linię na terminalu (poprawnie określ swoją domenę i subdomenę)
Wklej następujący kod i zmień go zgodnie z wymaganiami
Uruchom następujące wiersze na terminalu (poprawnie określ swoją domenę i subdomenę)
źródło
sudo a2enmod proxy_http
aby mieć trudności z prawidłowym działaniem. Staram się również podawać pełny proces od początku do końca w sekwencji, aby pomóc bardziej akulturacyjnie. Dziękuję za twoje pytanie.sudo a2ensite sub.yourdomain.com
Dodaj w swojej głównej konfiguracji vhost następujące linie:
Zauważ, że wymaga to mod_proxy na Apache.
źródło
Szukasz mod_rewrite. Oto link do dokumentacji Apache, która zawiera wiele przykładów konfiguracji podstawowych i zaawansowanych .
A jeśli nie jesteś w stanie samodzielnie zinterpretować dokumentacji, spróbuj dodać to do httpd.conf:
A jeśli to nie jest jasny przykład, oto link do przewodnika dla początkujących mod_rewrite .
źródło