resty-auto-ssl сертификат не работает

Я использую lua-resty-auto-ssl на моем сервере OpenResty для генерации сертификатов SSL на лету. Однако, похоже, они не работают. Есть два типа запросов к моему серверу: основной сайт или пользовательский домен, CNAME которого указывает на наш. При запросе нашего домена (назовем его) Firefox дает SEC_ERROR_UNKNOWN_ISSUER ошибка, тогда как при запросе личного домена это MOZILLA_PKIX_ERROR_SELF_SIGNED_CERT ошибка вместо этого.

Назовем мой домен example.org и домен, принадлежащий пользователю customdomain.org.

Это конфигурация сервера:

upstream app_server {
    server unix:/home/scheduler/run/gunicorn.sock fail_timeout=0;
}

server {
    listen 80 default_server;
    listen [::]:80 default_server;

    # Redirect everything to https
    location / {
        return 301 https://$host$request_uri;
    }

    # Endpoint used by auto-ssl for performing domain verification with Let's Encrypt
    location /.well-known/acme-challenge/ {
        content_by_lua_block {
            auto_ssl:challenge_server()
        }
    }
}

server {
    server_name example.org;

    listen 443 ssl http2;
    listen [::]:443 ssl http2;

    location @proxy_to_app {
        # proxy_set_header ...
        proxy_redirect off;
        proxy_pass http://app_server;
    }
  
    ssl_certificate_by_lua_block {
        auto_ssl:ssl_certificate()
    }

    ssl_certificate /etc/ssl/resty-auto-ssl-fallback.crt;
    ssl_certificate_key /etc/ssl/resty-auto-ssl-fallback.key;
}

# Internal server running on port 8999 for handling certificate tasks (by auto-ssl)
server {
    listen 127.0.0.1:8999;

    client_body_buffer_size 128k;
    client_max_body_size 128k;

    location / {
        content_by_lua_block {
            auto_ssl:hook_server()
        }
    }
}

А это файл конфигурации nginx/openresty:

user root;
worker_processes auto;
pid /run/openresty.pid;

events {
    worker_connections  1024;
}

http {
    # ...

    lua_shared_dict auto_ssl 20m;
    lua_shared_dict auto_ssl_settings 64k;

    resolver 67.207.67.2;

    lua_ssl_verify_depth 2;
    lua_ssl_trusted_certificate /etc/ssl/certs/ca-certificates.pem;
    
    init_by_lua_block {
        auto_ssl = (require "resty.auto-ssl").new()

        auto_ssl:set("allow_domain", function(domain)
            return true
        end)

        -- Use this during development otherwise the account may hit rate limiting issues
        -- Remove this in production
        auto_ssl:set("ca", "https://acme-staging-v02.api.letsencrypt.org/directory")

        auto_ssl:init()
    }

    init_worker_by_lua_block {
        auto_ssl:init_worker()
    }

    include ../sites/enabled/*;
}

Сертификаты просто не генерируются, потому что нет файла с именем example.org или же customdomain.org можно найти на /etc/resty-auto-ssl/letsencrypt/certs который, как я предполагаю, является местом хранения сертификатов (у меня есть еще несколько сертификатов в этом каталоге ранее, когда это работало).

SEC_ERROR_UNKNOWN_ISSUER, это ошибка, с которой я получаю example.org предполагает, что используется сертификат, отличный от самоподписанного, но он не может быть сертификатом resty-auto-ssl, потому что (а) он не работает и (б), как я уже сказал, это не в certs каталог.

MOZILLA_PKIX_ERROR_SELF_SIGNED_CERTозначает, что используемый сертификат является самозаверяющим, а не тем, который должен сгенерировать resty-auto-ssl, но этого не делает. Этот самозаверяющий сертификат существует, как предлагают документы, чтобы обмануть конфигурацию nginx, иначе тест завершится неудачно, если вы пропустите ssl_certificate линий.

редактировать:

Я удалил auto_ssl:set("ca", "https://acme-staging-v02.api.letsencrypt.org/directory")строка, чтобы получить настоящий сертификат, и теперь пользовательские домены работают. Я проверил каталог, в котором, как я думал, сохраняются сертификаты, /etc/resty-auto-ssl/letsencrypt/certs/, и нет customdomain.org файл, поэтому я понятия не имею, где restu-auto-ssl хранит эти сертификаты...

Но example.orgнет. Я все еще получаю сообщение об ошибке неизвестного эмитента.

0 ответов

Другие вопросы по тегам