В чём проблема? Напишите нормально работающий конфиг, и будет хорошо. Задача простая.
1) Повторяющиеся части конфигов можно вынести в инклюды. Сразу станет проще и красивее.
2) Для location напишите правильную регулярку, или как там у вас устроен адрес (мало информации).
3) Опционально можно автоматизировать генерацию конфигов (хоть шелом, хоть ansible'ом), если приложений много. Будет ещё проще и меньше ошибок.
Возможно, «стили» запрашиваются неправильно.
Короче, мало информации и однозначно неправильные локейшены. Больше проблем нет.
Переходить из-за этого не что-то другое, как предлагает Михаил Васильев, не надо. Не плодите сущности. Там будут точно такие же проблемы с регулярками в урлах.
Виталий Столяров, некорректный вопрос. Я исторически делал всё sh-скриптами и ansible, всё прекрасно работало. От настройки голого сервера, до разворачивания/обновления/прееноса django-приложения и всего его системного окружения.
В данном случае есть наследство (jenkins, к которому пока только одна претензия, что он на java и докер, который просто раздражает своей ненужностью и сопутствующими проблемами в разработке и отладке), которое хотелось бы использовать, если это возможно. Поэтому для меня "travis" и "circle ci" пока что пустые звуки. Слишком много всего сейчас есть, за всем не уследишь.
Виктор Таран, проксировать на себя не надо. Надо проксировать на внешние ресурсы. Так что localhost и его производные не проканает.
Можно ещё hosts задействовать, но это всё костыли, т.е. плохо.
Виктор Таран, нет, так не пойдёт. Ребут должен быть полным и валидным, потому что может случиться всегда. Желательно с полным пониманием того, почему косяки, а разрешаться эти косяки должны максимально кошерно, а не костылями.
Ubuntu 18 Desktop.
В юните это есть. Всё ставилось штатно. Я вот не знаю, запуск через systemd и по-старому через service вообще отличаются? Если сделать update-rc.d nginx remove а потом systemctl enable nginx что-то поменяется?
Но суть ошибки, как мне видится, в том, что сеть поднялась, но пока не рабоатет резолв. Поэтому шаманство в сторону сети не сработает.
Вот такие ошибки ещё бывают.
requests.exceptions.SSLError: HTTPSConnectionPool(host='api.site.com, port=443): Max retries exceeded with url: /api/v1/foo/attachments (Caused by SSLError(SSLError("bad handshake: Error([('SSL routines', 'tls_process_server_certificate', 'certificate verify failed')],)",),))
Когда есть легаси пакет, но в него надо добавить пару строк, потому что майнтейнер не чешется. Но при том не хочется терять остальные файлы и иметь возможность штатно обновляться.