nginx всегда добавляется завершающий sla sh после домена - PullRequest
0 голосов
/ 29 мая 2020

Я всю жизнь искал и не вижу, что делаю что-то не так.

В основном у меня два домена, и я хочу перенаправить на серверную службу в зависимости от того, какой из них посещается.

  • clientkey.local
  • clientkey.strapi.local

Когда я посещаю каждый из этих доменов, он переписывает URL-адреса как:

  • clientkey.local /
  • clientkey.strapi.local /

Нет смысла добавлять дополнительные косые черты, если я просто посещаю базовый домен. Я могу добавить завершающий sla sh, если захочу, и все равно попаду на домашнюю страницу, но он не должен перенаправлять меня туда автоматически. Ниже моя конфигурация nginx.

Есть идеи? Я использую docker -compose, если это важно. Я чувствую, что упускаю что-то очевидное.

worker_processes 4;

events { worker_connections 1024; }

http { 
    upstream strapi_servers {
        server strapi:1337;
    }

    upstream gallery_servers {
        server gallery;
    }

    server {
        listen 80;
        server_name clientkey.strapi.local;
        location / {
            proxy_pass http://strapi_servers;
            proxy_http_version 1.1;
            proxy_set_header X-Forwarded-Host $host;
            proxy_set_header X-Forwarded-Server $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
            proxy_set_header Host $http_host;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "Upgrade";
            proxy_pass_request_headers on;
        }
    }

    server {
        listen 80;
        server_name clientkey.local;
        location / {
            proxy_pass http://gallery_servers;
            proxy_redirect     off;
            proxy_set_header   Host $host;
            proxy_set_header   X-Real-IP $remote_addr;
            proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header   X-Forwarded-Host $server_name;
        }
    }
}

1 Ответ

1 голос
/ 29 мая 2020

Быстрое тестирование показывает, что sla sh не скрыт для сайтов, не являющихся publi c TLD (Chromium / Chrome).

Другими словами, если TLD не настоящий, то sla sh не опускается.

  • example.local - sla sh показано
  • example.anyting-non-real - sla sh показано
  • example.com - sla sh скрытый
...