• Nginx + gunicorn + ssl. Разные конфиги для разных поддоменов на одном сертификате. Это возможно?

    @xtreme
    Снимаю порчу по SSH :)
    upstream subexample.com {
    и
    proxy_pass http://sub.example.com;
    Тут непонятно, зачем описывать апстрим и не использовать его. Или это опечатка?
    Второе - непонятно назначение конструкции:
    if (!-f $request_filename) {
      proxy_pass http://sub.example.com;
      break;
    }

    Читаю так - если файл не существует, то сделать proxy_pass на самого себя и получить бесконечный редирект (это в случае, если там не опечатка и проксится на sub.example.com), либо по http-протоколу обратиться к бэкенду, который висит на сокете и тогда получим фигню, потому что результирующий урл довольно необычного вида http://unix://....
    Сразу возникает вопрос... а если файл найден? Откуда его отдать? Других опций как-то не видно.

    Я бы порекомендовал:
    - не называйте апстримы также, как реальные серверы - одна ошибка и получим непредсказуемое поведение, которое очень сложно отловить. В идеале, апстримы можно назвать одним словом, чтобы не путать с именем сервера.
    - Постарайтесь обойтись без if в конфиге, особенно для проверки существования файла. Есть же try_files.
    Ответ написан
    7 комментариев