Certbot kann nicht für SSL für Nginx mit der ReactJS-App und dem Laravel-Unterverzeichnis in der Subdomäne verwendet werden

Certbot kann nicht für SSL für Nginx mit der ReactJS-App und dem Laravel-Unterverzeichnis in der Subdomäne verwendet werden

Ich habe eine Domain mit einer IP-Adresse und eine Subdomain mit einer anderen IP-Adresse. Ich habe die Nginx-URL für FE konfiguriert: http://subdomain/ und für BE: http://subdomain/api. Und ich brauche SSL für die Verwendung der SubdomainCertbot, dabei habe ichReact-App für FEUndphp laravel für BEalles inDocker, aber ohne Erfolg.

nginx.conf

server {
    listen 8888;
    server_name subdomain;

    index index.php index.html;
    root /var/www;
    client_max_body_size 256M;

    error_log /var/log/nginx/fe/error.log;
    access_log /var/log/nginx/fe/access.log;


    ## config path for API
    location ^~ /api  {
        error_log /var/log/nginx/api/error.log;
        access_log /var/log/nginx/api/access.log;

        alias /var/www/api/public;
        if (!-e $request_filename) {
            rewrite ^ /api/index.php last;
        }
        location ~ \.php$ {
            if (!-f $request_filename) {
                return 404;
            }
            fastcgi_pass api:9000;
            include fastcgi_params;
            fastcgi_param SCRIPT_FILENAME $request_filename;
        }
    }

    location ~ /.well-known/acme-challenge {
        allow all;
        default_type "text/plain" ;
        alias /var/www/certbot/index.html; <-- #here only static file html with "HelloWorld"
    }

    ## Load staic file for FE
    location / {
        try_files $uri /index.html;
    }
}

Und wenn ich „Verify“ ausführeSSL für NginxvonCertbot:

certbot --nginx -d <subdomain> -m <email> 

Ich habe den folgenden Fehler:

   Domain: <subdomain>
   Type:   unauthorized
   Detail: Invalid response from
   http://<sudomain>/.well-known/acme-challenge/88C3jgQzqOTXDqBbDX_XLZRR0Sw5RGaNUaGyCgedwVs
   [IP]: "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n
   <meta charset=\"UTF-8\">\n    <title>HelloWorld</title>\n</head>\n<body>\n\n</body>"

Wenn ich den Block /.well-known/acme-challengein nginx nur mit setze allow all;oder allow all; root /certbot/index.html;ich habe einen Fehler

   Domain: <subdomain>
   Type:   unauthorized
   Detail: Invalid response from
   http://<subdomain>/.well-known/acme-challenge/bfp9WEdPO1eb4NPTSPuQCD2jpakgn2-aIUVF62nrwLs
   [IP]: "<html>\r\n<head><title>404 Not
   Found</title></head>\r\n<body>\r\n<center><h1>404 Not
   Found</h1></center>\r\n<hr><center>nginx/1.15.12</c"

Wie kann ich Nginx für SSL konfigurieren?

Danke für die Unterstützung.

Antwort1

AKTUALISIERT:

Ich habe es behoben. Weil ich nginx und certbot in Docker eingestellt und den Container ohne Port 443 ausgeführt habe. Öffnen Sie die Karte 443 und den Port 80, es funktioniert wie am Schnürchen.

verwandte Informationen