LINUX.ORG.RU
ФорумAdmin

Помогите с настройкой nginx и certbot

 , ,


0

1

Система на Debian 10.8. Настроил nginx для доступа по https в качестве обратного прокси. Подключил к нему certbot. Все отлично работало какое-то время, но с какого-то времени certbot не смог автоматом обновить ключи. Проверка верификации происходит через 80 порт. Он торчит наружу. Сейчас, при попытке холостого прогона certbot говорит, что не может попасть на 80 порт для проверки. Проброс работает, tcpdump показывает входящие пакеты. Итого, как понял проблема или в файрволе или в конфиге nginx.

nginx настроен так:

server {
    listen 0.0.0.0:80;
    server_name 123123123.sn.mynetname.net;
    access_log /var/log/nginx/123123123.sn.mynetname.net-access.log;
    error_log /var/log/nginx/123123123.sn.mynetname.net-error.log;

location / {
    proxy_pass http://192.168.51.3:8123;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $connection_upgrade;
    }

    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/123123123.sn.mynetname.net/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/123123123.sn.mynetname.net/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

}

Никакой специфичный файрвол не использую. nmap localhost на самом хосте говорит вот что:

PORT     STATE SERVICE
22/tcp   open  ssh
80/tcp   open  http
139/tcp  open  netbios-ssn
443/tcp  open  https
445/tcp  open  microsoft-ds
8080/tcp open  http-proxy
8083/tcp open  us-srv
9000/tcp open  cslistener

Снаружи так:

PORT      STATE    SERVICE
53/tcp    open     domain
80/tcp    filtered http
135/tcp   filtered msrpc
139/tcp   filtered netbios-ssn
443/tcp   open     https
445/tcp   filtered microsoft-ds
2000/tcp  open     cisco-sccp
8080/tcp  filtered http-proxy
49152/tcp open     unknown
52869/tcp filtered unknown

Почему снаружи 80 порт в сотоянии filtered может быть? И соответственно доступа по 80 порту нет?

Сколько текста и всё не по делу.

Почему снаружи 80 порт в сотоянии filtered может быть? И соответственно доступа по 80 порту нет?

Это может быть из-за файрволла. Либо твоего, либо провайдерского. Ищи.

А certbot - блоатварь, но это к данной проблеме не относится.

firkax ★★★ ()

Сайт по 80 порту снаружи открывается?

А еще nginx занимает 80 порт и поэтому certbot не может сам его использовать для проверки. Отключи на время обновления nginx.

gruy ★★★★★ ()

Тоже недавно столкнулся, только с апачем. Причём провайдер 80 порт явно не блочит полностью, так как отдельные соединения на него в логах есть. Видимо, или у прова, или у его аплинков какой-то шейпинг на этом порту, может, для борьбы с ДДОСами военного времени. Я плюнул на certbot и настроил апачевский mod_md, который умеет в 443 порт для проверки сертификатов, на нём проблем нет.

alegz ★★ ()
Ответ на: комментарий от kerneliq
Attempting to renew cert (example.com) from /etc/letsencrypt/renewal/example.com.conf produced an unexpected error: Problem binding to port 80: Could not bind to IPv4 or IPv6.. Skipping.
gruy ★★★★★ ()
Ответ на: комментарий от gruy

Сайт по 80 порту снаружи открывается?

Неа, не открывается. Что интересно, запустил IIS на ПК, перекинул туда 80 порт и даже там не работает. Хотя маршрутизатор показывает, что перекидывает пакеты и на винде открыт порт.

matrix1320 ()
Ответ на: комментарий от matrix1320

А на 443 ПК могу попасть снаружи, как и на сервер. Вообще не въеду, что с 80 портом.

matrix1320 ()
Ответ на: комментарий от IIIypuk

Только если вы сами его об этом попросите. При проверке через dns он же тоже создает запись, другой вопрос что это не касается конфигов.

anc ★★★★★ ()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.