Skocz do zawartości
Zaloguj się, aby obserwować  
Rolej

Subdomeny, CF - misz masz się robi

Polecane posty

Cześć,

 

Może trochę nie trafiony ten tytuł tematu ale cóż... Od kilku dni borykam się z konfiguracją vhostów w apachu czy nawet nginxie (ale skupie się na apachu). Otóż:

  • Korzystam z Kimsufi z zainstalowanym Proxmoxem 3.4. Wirtualizacja OpenVZ, systemy Debian 8.x, tablica NAT ustawiona wg. dokumentacji OVH.
  • DNS działają w CloudFlare, skonfigurowane mam rekordy A.

Od kilku dni próbuje (nieudanie) skonfigurować vhosty dla subdomen. Subdomeny te są mi potrzebne do pracy nad serwisem i monitoringu kilku usług poza + powiadomienia z nagiosa. Vhosty są jak najbardziej domyślne, jedynie co w nim zmieniam to DocumentRoot i ServerName. Po uruchomieniu 3 vhostów (nazwałem je:

  • prod - domena główna;
  • beta - dla pracy nad serwisem;
  • back - nagios i co innego;

) jaki bym nie wpisał adres do siebie (czy domenę główną czy beta.* / back.*) wszystko wskazuje na vhost nie taki jak trzeba - konkretyzując, na jeden z nich.

 

Pliki trzymam w /home/%u/www

 

O co chodzi? Gdzie robię błąd?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Tylko teraz inne pytanie - jak pogodzić CFa i binda...

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość l3szcz

Prosto, ustawiasz wpisy SOA normalnie, dla swojego IP tak samo domeny.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

L3szczu, po co mu Bind, jak korzysta z DNS CloudFlare?

 

Na matce (Proxmox) ustawiłeś DNAT z przekierowaniem portu 80 TCP na jeden z kontenerów, tak? Wtedy w kontenerze powinieneś zainstalować Apache/Nginx i skonfigurować vhosty.

Pokaż konfigurację serwera WWW.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość l3szcz

Zmierzałem się kiedyś z podobnym problemem i BIND pomógł rozwiązać problem.

Nawet po skonfigurowaniu VHOSTów nie działały mi subdomeny z CF więc musiałem zaimprowizować - zadziałało niemal od razu.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Chyba zrozumiałem błąd w którym brnąłem, tylko nie rozumiem jeszcze jak mocno on oddziałowywuje we wszystko. W vhostach dopisałem (ponownie zresztą) ServerAlias. W vhoscie domeny głównej dopisałem *.domena.pl. To mogło zadziałać?


@l3szcz

Próbowałeś tego? Działała Ci taka opcja?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Rolej, podrzuć konfigurację, to będzie wiadomo co i jak.

Serwer WWW nie powinien być zależny od DNS, bo nazwę hosta pobiera z nagłówku wysłanego przez przeglądarkę. Nawet jak zrobisz vhost "nieistniejaca-domena.pl" i w pliku hosts na swoim komputerze dodasz nazwę "nieistniejaca-domena.pl" wskazującą na adres IP Twojego serwera, to powinno działać :)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Trzymaj Bartku:

 

 

 

<VirtualHost *:80>
        # The ServerName directive sets the request scheme, hostname and port that
        # the server uses to identify itself. This is used when creating
        # redirection URLs. In the context of virtual hosts, the ServerName
        # specifies what hostname must appear in the request's Host: header to
        # match this virtual host. For the default virtual host (this file) this
        # value is not decisive as it is used as a last resort host regardless.
        # However, you must set it for any further virtual host explicitly.

        ServerName www.trueworld.pl
        ServerAlias *.trueworld.pl
        ServerAdmin webmaster@trueworld.pl

        DocumentRoot /home/rolej/www/prod

        # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
        # error, crit, alert, emerg.
        # It is also possible to configure the loglevel for particular
        # modules, e.g.
        #LogLevel info ssl:warn
 
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

        # For most configuration files from conf-available/, which are
        # enabled or disabled at a global level, it is possible to
        # include a line for only one particular virtual host. For example the
        # following line enables the CGI configuration for this host only
        # after it has been globally disabled with "a2disconf".
        #Include conf-available/serve-cgi-bin.conf

</VirtualHost>
 

<VirtualHost *:80>
        # The ServerName directive sets the request scheme, hostname and port that
        # the server uses to identify itself. This is used when creating
        # redirection URLs. In the context of virtual hosts, the ServerName
        # specifies what hostname must appear in the request's Host: header to
        # match this virtual host. For the default virtual host (this file) this
        # value is not decisive as it is used as a last resort host regardless.
        # However, you must set it for any further virtual host explicitly.

        ServerName www.back.trueworld.pl
        ServerAlias back.trueworld.pl
        ServerAdmin webmaster@trueworld.pl

        DocumentRoot /home/rolej/www/back
 
        # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
        # error, crit, alert, emerg.
        # It is also possible to configure the loglevel for particular
        # modules, e.g.
        #LogLevel info ssl:warn
 
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
 
        # For most configuration files from conf-available/, which are
        # enabled or disabled at a global level, it is possible to
        # include a line for only one particular virtual host. For example the
        # following line enables the CGI configuration for this host only
        # after it has been globally disabled with "a2disconf".
        #Include conf-available/serve-cgi-bin.conf
</VirtualHost>
 
<VirtualHost *:80>
        # The ServerName directive sets the request scheme, hostname and port that
        # the server uses to identify itself. This is used when creating
        # redirection URLs. In the context of virtual hosts, the ServerName
        # specifies what hostname must appear in the request's Host: header to
        # match this virtual host. For the default virtual host (this file) this
        # value is not decisive as it is used as a last resort host regardless.
        # However, you must set it for any further virtual host explicitly.
        ServerName www.beta.trueworld.pl
        ServerAlias beta.trueworld.pl

        ServerAdmin webmaster@trueworld.pl
        DocumentRoot /home/rolej/www/beta

        # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
        # error, crit, alert, emerg.
        # It is also possible to configure the loglevel for particular
        # modules, e.g.
        #LogLevel info ssl:warn

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

        # For most configuration files from conf-available/, which are
        # enabled or disabled at a global level, it is possible to
        # include a line for only one particular virtual host. For example the
        # following line enables the CGI configuration for this host only
        # after it has been globally disabled with "a2disconf".
        #Include conf-available/serve-cgi-bin.conf
</VirtualHost>

 

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Może kolejność regułek ma znaczenie? Sprawdź taką konfigurację:

 

<VirtualHost *:80>
        ServerName www.back.trueworld.pl
        ServerAlias back.trueworld.pl

        ServerAdmin webmaster@trueworld.pl
        DocumentRoot /home/rolej/www/back
 
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
 
<VirtualHost *:80>
        ServerName www.beta.trueworld.pl
        ServerAlias beta.trueworld.pl

        ServerAdmin webmaster@trueworld.pl
        DocumentRoot /home/rolej/www/beta

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

<VirtualHost *:80>
        ServerName www.trueworld.pl
        ServerAlias trueworld.pl *.trueworld.pl

        ServerAdmin webmaster@trueworld.pl
        DocumentRoot /home/rolej/www/prod
 
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

 

 

 

Człowiek całe życie się uczy:

If the entry corresponds to a name-based vhost the name list contains one or more vhost structures. This list contains the vhosts in the same order as the VirtualHost directives appear in the config file.

 

The first vhost on this list (the first vhost in the config file with the specified IP address) has the highest priority and catches any request to an unknown server name or a request without a Host: header field.

https://httpd.apache.org/docs/2.2/vhosts/details.html

Edytowano przez Bartosz Z (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Znaczy Ja to mam w osobnych plikach. 1 vhost = 1 plik. Mogłoby to mieć znaczenie?

edit: I znowu się skiepściło... Wszystkie te vhosty dać do jednego pliku i spróbować takiej konfiguracji?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Konfiguracja dla jednej domeny w kilku plikach? Po co? :P
Wrzuć to do jednego pliku, w odpowiedniej kolejności i sprawdź.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Teraz tylko główna domena działa dobrze a subdomeny nasłuchują to co jest u głównej :P

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Problem został rozwiązany, dziękuje jeszcze raz Bartku ;)

  • Upvote 1

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się

Zaloguj się, aby obserwować  

×