Skocz do zawartości
  • Cześć!

    Witaj na forum RootNode - aby pisać u nas musisz się zarejestrować, a następnie zalogować. Posty pisane z kont niezarejestrowanych nie są widoczne publicznie.

Nginx - virtualne hosty


Sevence

Rekomendowane odpowiedzi

Witam, 

 

Mam problem z ustawieniem kilku virtualnych hostów w nginxie. Aktualnie moja konfiguracja wygląda w ten sposób. 

Website.pl działa poprawnie ssl i przekierowanie z http na https wszystko gra. 

Problem zaczyna się z drugim hostem gdzie po wejściu na test.wensite.pl nie ładuje plików z podanej ścieżki root xxx.wensite.pl tylko tego pierwszego var/www/wensite.pl domena jest poprawna, ale strona ładuje się z innej lokalizacji. Error.log - zero brak. Poprawnie też zrobiłem symlinki do sites enabled

Nie wiem czy odpowiedni dział jeśli nie to przepraszam i proszę o przeniesienie. 

server {
	listen 80 default_server;
	listen [::]:80 default_server;

	root /var/www/website.pl;
	index index.php index.html;
	server_name website.pl;
	
	location / {
		try_files $uri $uri/ =404;
	}
	
    if ($scheme != "https") { 
        return 301 https://$host$request_uri;
    }		
	
	location ~ \.php$ {
	    include snippets/fastcgi-php.conf;
		fastcgi_pass unix:/run/php/php7.4-fpm.sock;
	}
	
    listen [::]:443 ssl ipv6only=on;
    listen 443 ssl;
    ssl_certificate /etc/letsencrypt/live/website.pl/fullchain.pem; 
    ssl_certificate_key /etc/letsencrypt/live/website.pl/privkey.pem; 
    include /etc/letsencrypt/options-ssl-nginx.conf; 
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; 
}

 

 

 

server {
	listen 82;
	listen [::]:82;

	root /var/www/test.website.pl;
	index index.php index.html;
	server_name test.website.pl;
	
	location / {
		try_files $uri $uri/ =404;
	}
		
	location ~ \.php$ {
	    include snippets/fastcgi-php.conf;
		fastcgi_pass unix:/run/php/php7.4-fpm.sock;
	}
	
    listen [::]:444 ssl ipv6only=on;
    listen 444 ssl;
    ssl_certificate /etc/letsencrypt/live/test.website.pl/fullchain.pem; 
    ssl_certificate_key /etc/letsencrypt/live/test.website.pl/privkey.pem; 
    include /etc/letsencrypt/options-ssl-nginx.conf; 
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; 	
}

 

 

 

Odnośnik do komentarza
Udostępnij na innych stronach

Czy niestandardowe porty 82 i 444 użyłeś celowo?

 

Jeżeli wpisujesz w przeglądarkę adres http://test.website.pl to połączenie następuje po porcie 80, jeżeli wpiszesz https://test.website.pl to po porcie 443. Stąd wyświetla ci się pierwsza stronka website.pl, bo to jedyna strona na tych portach. Zamień 82 na 80 i 444 na 443, zrób restart nginx'a i zobacz czy działa.

Odnośnik do komentarza
Udostępnij na innych stronach

Na ten temat jets MASA poradników np:

https://www.nginx.com/resources/wiki/start/topics/examples/server_blocks/
https://www.keycdn.com/support/nginx-virtual-host
https://www.digitalocean.com/community/tutorials/how-to-set-up-nginx-server-blocks-virtual-hosts-on-ubuntu-16-04
itd...

 

Edytowane przez Mion
Odnośnik do komentarza
Udostępnij na innych stronach

Sprawdzałem w ten sposób żadnych błędów.  Problem polega na ten że domena test.website.pl wyświetla website.pl tak jak by nie wczytywalo tego katalogu albo coś z portami namieszałem chce mieć na obu ssl

Edytowane przez Sevence
Odnośnik do komentarza
Udostępnij na innych stronach

Wirtual host jak sama nazwa mówi powinien mieć swój katalog ROOT  chyba, że ma przewidziany Wildcard
Sprawdź czy nie masz tam dowiązania symbolicznego  na katalogach.

Oraz profilaktycznie zmień kolejność najpierw

server_name 

--

Tesli nie znajdziesz nadal błędu to możne zostaw tylko den VH co Ci nie działa i przeładuj nginexa

Edytowane przez Mion
Odnośnik do komentarza
Udostępnij na innych stronach

Niestety nadal nie rozwiązałem problemu. Ładuje te dwie konfiguracje co podałem z sites enabled i test.website.pl wyświetla ta samą stronę jak by nie lądowało katalogu root. Jeśli ktoś mógłby pomóc przez tv lub anydeska proszę PW zapłace. 

 

Docelowo chce uruchomić 4 vhosty 

Edytowane przez Sevence
Odnośnik do komentarza
Udostępnij na innych stronach

https://www.nginx.com/resources/wiki/start/topics/examples/server_blocks/

I krok po kroku. Jak nie działa, to najpierw odpal pierwszego vhost'a tylko na porcie 80, potem dołóż konfigurację dla drugiego i jak Ci "zaskoczy" to rozszerzaj konfigurację o przekierowanie z http na https'a.

PS. Na serwer mogę zajrzeć. Przez TV czy AnyDesk'a "bawić" się nie będę.

  • Lubię 1
Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

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

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Korzystając z forum, wyrażasz zgodę na: Warunki użytkowania, Regulamin, Polityka prywatności.