Ответы пользователя по тегу Nginx
  • Как настроить редирект с url на другую папку?

    condor-bird
    @condor-bird
    Обычный редирект:

    server {
        listen 80;
        server_name site.com;
    
        location /test {
            return 301 /other_site;
        }
    }


    Брать содержимое из другого каталога:

    server {
        listen 80;
        server_name site.com;
    
        location /test/ {
            root /var/www/other_site;
        }
    }
    Ответ написан
    Комментировать
  • Как настроить сертификаты ssl для любого домена ссылающегося на ip?

    condor-bird
    @condor-bird
    LE (да и другие) не выдают серты для ip, только на домены/поддомены (wilcard). Поэтому:

    1) У каждого домена из списка в DNS должна быть указана A запись с ip на ваш сервер
    2) На сервере генерируются nginx конфиги для каждого домена
    3) Затем для каждого домена получаем LE сертификат (certbot или любой другой клиент + автообновление за 1-2 месяцев до окончания).
    Ответ написан
    Комментировать
  • Как настроить nginx?

    condor-bird
    @condor-bird
    Смотрите часть, где указано proxy_pass в location/ блоке. Для try_files установлено значение $uri $uri/ /index.php?$query_string, если запрошенный адрес не удается открыть, он перенаправит на /index.php?$query_string.
    Но также если и на /index.php перенаправляет, отсюда и бесконечный цикл.
    Конфиг должен быть примерно такой:

    Nginx домена

    server {
        listen 80;
        server_name domain.com;
        return 301 https://$server_name$request_uri;
    }
    
    server {
        listen 443 ssl;
        server_name domain.com;
    
        location / {
            proxy_pass http://localhost:8080;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
        }
    }



    Nginx в докере

    server {
        listen 80;
        listen [::]:80;
        server_name _;
        root /var/www/domain.com/public;
    
        index index.php;
    
        charset utf-8;
    
        location / {
            try_files $uri $uri/ /index.php?$query_string;
        }
    
        location = /favicon.ico { access_log off; log_not_found off; }
        location = /robots.txt  { access_log off; log_not_found off; }
    
        error_page 404 /index.php;
    
        location ~ \.php$ {
            try_files $uri =404;
            fastcgi_index index.php;
            include fastcgi_params;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_param PATH_INFO $fastcgi_path_info;
        }
    }

    Ответ написан