Проект (далее прокси) предназначен для быстрого развертывания nginx с автоматиески обновляемыми сертифкатами от Letsencrypt.
Не стоит ставить это на уже готовый вебсервер, так порты будут конфликтовать
Подходит для разворачивания микросервисной архитектуры на новой машине или рядом с апачом
Любая ось на которой работает docker + docker-compose
git clone [email protected]:ishapkin/nginx-proxy-letsencrypt.git /srv/proxy
docker network create nginx-proxy
docker-compose up -d --build
./letsencrypt_build.sh
На примере домена example.com
Добавить в vhost.d файл www.exmaple.com c содержимым
if ($request_uri !~ "^/.well-known/acme-challenge")
{
return 301 https://example.com;
}
Перезапустить контейнер
docker-compose restart
На примере домена example.com
Для базовой авторизации создать пару логин-пароль в папке
htpasswd -c htpasswd/exampe.com sammy
version: '3'
services:
webserver:
image: nginx:alpine
container_name: example-webserver
# пробрасываем порты 80 и 443 для работы прокси
expose:
- 80
- 443
restart: always
environment:
# Хост для прокси
VIRTUAL_HOST: example.com
# Хост для letsencrypt
LETSENCRYPT_HOST: example.com
# Хост для letsencrypt email админа
LETSENCRYPT_EMAIL: [email protected]
# Подключаем сеть с прокси
networks:
default:
external:
name: nginx-proxy