diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..df91287 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +certs/ diff --git a/docker-compose.yml b/docker-compose.yml index 30e0535..766864f 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -5,6 +5,22 @@ services: container_name: nginx-reverse-proxy ports: - "80:80" + - "443:443" volumes: - ./nginx.conf:/etc/nginx/nginx.conf + - ./certs:/etc/letsencrypt + - ./html:/var/www/html + - ./logs/nginx:/var/log/nginx restart: always + + certbot: + image: certbot/certbot + container_name: certbot + volumes: + - ./certs:/etc/letsencrypt + - ./html:/var/www/html +# command: certonly --webroot --webroot-path=/var/www/html --email prbigoon@gmail.com --agree-tos --no-eff-email -d git.evil-bird.ru + command: renew --webroot --webroot-path=/var/www/html + entrypoint: /bin/sh -c "trap exit TERM; while :; do certbot renew --webroot --webroot-path=/var/www/html; sleep 12h & wait $${!}; done;" + depends_on: + - nginx diff --git a/html/index.html b/html/index.html new file mode 100644 index 0000000..c9b76f1 --- /dev/null +++ b/html/index.html @@ -0,0 +1 @@ +

Test Page

diff --git a/html/stagged_nginx.conf b/html/stagged_nginx.conf new file mode 100644 index 0000000..9eabd87 --- /dev/null +++ b/html/stagged_nginx.conf @@ -0,0 +1,30 @@ +events {} + +http { + server { + listen 80; + server_name git.evil-bird.ru; + + location /.well-known/acme-challenge/ { + root /var/www/html; + } + + location / { + root /var/www/html; + index index.html; + } + } + + server { + listen 443; # ssl; + server_name git.evil-bird.ru; + + # ssl_certificate /etc/letsencrypt/live/git.evil-bird.ru/fullchain.pem; + # ssl_certificate_key /etc/letsencrypt/live/git.evil-bird.ru/privkey.pem; + + location / { + root /var/www/html; + index index.html; + } + } +} \ No newline at end of file diff --git a/nginx.conf b/nginx.conf index 51b5ea0..0e7240d 100644 --- a/nginx.conf +++ b/nginx.conf @@ -1,10 +1,29 @@ events {} http { + log_format main '$remote_addr - $remote_user [$time_local] "$request" ' + '$status $body_bytes_sent "$http_referer" ' + '"$http_user_agent" "$http_x_forwarded_for"'; server { listen 80; server_name git.evil-bird.ru; + location /.well-known/acme-challenge/ { + root /var/www/html; + } + + location / { + return 301 https://$host$request_uri; + } + } + + server { + listen 443 ssl; + server_name git.evil-bird.ru; + + ssl_certificate /etc/letsencrypt/live/git.evil-bird.ru/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/git.evil-bird.ru/privkey.pem; + location / { proxy_pass http://10.10.1.10:3000; proxy_set_header Host $host; @@ -13,4 +32,4 @@ http { proxy_set_header X-Forwarded-Proto $scheme; } } -} +} \ No newline at end of file