server_name nginx de yok sayılıyor gibi görünüyor


3

Nginx.conf içinde ayarlanmış iki alanım var. Her ikisi de kendi sertifikalarıyla SSL kullanıyor ve Apache'ye proxy kullanıyor.

Ancak, ikinci etki alanı tamamen yoksayılır ve nginx her zaman ilk etki alanına gider. Bu yapılandırmada sorunun ne olduğunu göremiyorum, her durumda server_name ayarını doğru yaptım (görebildiğim kadarıyla):

http {
    include       mime.types;
    default_type  application/octet-stream;

    keepalive_timeout  65;

    upstream site {
        # real IP addresses masked
        server xx.xxx.x.xxx;
        server xx.xxx.x.xxx;
    }


    server {
        # this domain always works
        listen       443;
        server_name  *.first-site.com;

        ssl                  on;
        ssl_certificate      /var/ssl/first-site.crt;
        ssl_certificate_key  /var/ssl/first-site.key;

        location / {
            access_log off;
            proxy_connect_timeout 15;
            proxy_next_upstream error;
            proxy_pass http://site;
            proxy_set_header Host $http_host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-Protocol https;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_redirect off;
        }

    }

    server {
        # this domain is ignored, always resolves to first-site.com
        listen       443;
        server_name  *.second-site.com;

        ssl                  on;
        ssl_certificate      /var/ssl/second-site.crt;
        ssl_certificate_key  /var/ssl/second-site.key;

        location / {
            access_log off;
            proxy_connect_timeout 15;
            proxy_next_upstream error;
            proxy_pass http://site;
            proxy_set_header Host $http_host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-Protocol https;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_redirect off;
        }

    }

}

Yanıtlar:


2

Bir IP ve port numarasını dinlemek için Listen yönergesini ayarlamanız gerekir.

Listen 1.2.3.4:443

Şu anda, SSL’nin ayrı IP’lerine (veya ayrı bağlantı noktalarına) ihtiyacı vardır.


İki şeyi bir arada yapmam gerekiyordu: 1, IP adresini burada açıklandığı gibi bağlantı noktasına ekleyin. 2, diğerlerinin açıkça yalnızca tek bir server { }blok tarafından ele alınması gereken istekleri otomatik olarak işlemesini önlemek için sunuculardan birinde default_server parametresini kullanın . Bunun için teşekkür ederim.
Bryson
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.