PHP-FPM produziert leere Seiten via HTTPS (Lets Encrypt Zertifikat)

Xynphonie

New Member
Moin, moin

habe jetzt einige Stunden damit verbracht herauszufinden, woran er sich bei folgender Konfiguration aufhängt und ergo keine PHP-Dateien parst, sobald der Zugriff via HTTPS erfolgt. Schalte ich alles was mit Verschlüsselung im Kern zu tun hat ab, lasse es wieder über Port 80 laufen -> PHP funktioniert. Ich vermute irgendwo ein Fehler beim schreiben der Zeilen? Wobei nginx beim Check nichts verwerfliches meldet, wie auch in der error.log von nginx zwecks PHP nichts zu finden ist.

System: CentOS 7.3
WebRoot /usr/share/nginx/html
Owner: nginx:nginx

nginx.conf
Code:
# For more information on configuration, see:
#   * Official English Documentation: http://nginx.org/en/docs/
#   * Official Russian Documentation: http://nginx.org/ru/docs/

user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;

# Load dynamic modules. See /usr/share/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;

events {
    worker_connections 1024;
}

http {
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile            on;
    tcp_nopush          on;
    tcp_nodelay         on;
    keepalive_timeout   65;
    types_hash_max_size 2048;

    include             /etc/nginx/mime.types;
    default_type        application/octet-stream;

    # Load modular configuration files from the /etc/nginx/conf.d directory.
    # See http://nginx.org/en/docs/ngx_core_module.html#include
    # for more information.
    include /etc/nginx/conf.d/*.conf;

    server {
        listen       80 default_server;
        listen       [::]:80 default_server;
        server_name  _;
        root         /usr/share/nginx/html;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        location / {
        }

        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }
# Settings for a TLS enabled server.
#
#    server {
#        listen       443 ssl http2 default_server;
#        listen       [::]:443 ssl http2 default_server;
#        server_name  _;
#        root         /usr/share/nginx/html;
#
#        ssl_certificate "/etc/pki/nginx/server.crt";
#        ssl_certificate_key "/etc/pki/nginx/private/server.key";
#        ssl_session_cache shared:SSL:1m;
#        ssl_session_timeout  10m;
#        ssl_ciphers HIGH:!aNULL:!MD5;
#        ssl_prefer_server_ciphers on;
#
#        # Load configuration files for the default server block.
#        include /etc/nginx/default.d/*.conf;
#
#        location / {
#        }
#
#        error_page 404 /404.html;
#            location = /40x.html {
#        }
#
#        error_page 500 502 503 504 /50x.html;
#            location = /50x.html {
#        }
#    }

}

/etc/nginx/conf.d/default.conf
Code:
server {
    listen       80;
    server_name  xyndrac.net www.xyndrac.net;
    return       301 https://$server_name$request_uri;


    root   /usr/share/nginx/html;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }
    error_page 404 /404.html;
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root /usr/share/nginx/html;
    }

   # AUSKOMMENTIERT PROBEWEISE
   # location ~ \.php$ {
   #     try_files $uri =404;
   #     fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
   #     fastcgi_index index.php;
   #     fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
   #     include fastcgi_params;
   # }
}

/etc/nginx/conf.d/ssl.conf
Code:
server {
        listen 443 http2 ssl;

        server_name xyndrac.net www.xyndrac.net;

        ssl_certificate /etc/letsencrypt/live/xyndrac.net/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/xyndrac.net/privkey.pem;

        #################################
        # SSL-Conv                      #
        #################################

        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_prefer_server_ciphers on;
        ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";
        ssl_ecdh_curve secp384r1;
        ssl_session_cache shared:SSL:10m;
        ssl_session_tickets off;
        ssl_stapling on;
        ssl_stapling_verify on;
        resolver 8.8.8.8 8.8.4.4 valid=300s;
        resolver_timeout 5s;

        # STS-Block

        add_header Strict-Transport-Security "max-age=63072000; includeSubdomains";
        add_header X-Frame-Options DENY;
        add_header X-Content-Type-Options nosniff;

        ##################################
        # END SSL Conv                   #
        ##################################

        ssl_dhparam /etc/ssl/certs/dhparam.pem;

        location ~ /.well-known {
                allow all;
        }

        # Server-Block

        root /usr/share/nginx/html;
        index index.php index.html index.htm;

        location / {
                try_files $uri $uri/ =404;
        }

        # Error Pages

        error_page      404             /404.html;
        error_page      500 502 503 504 /50x.html;
        location =      /50x.html {
                root /usr/share/nginx/html;
        }

        # PHP-Konfiguration aus default.conf

        location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

# AUSKOMMENTIERT, VORLAGE NGINX Offizielle WIKI (Keine Besserung)
#       location ~ [^/]\.php(/|$) {
#       fastcgi_split_path_info ^(.+?\.php)(/.*)$;
#       if (!-f $document_root$fastcgi_script_name) {
#               return 404;
#       }
#       fastcgi_param HTTPS on;
#       fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
#       fastcgi_index index.php;
#       include fastcgi_params;
#       }


}
 
Moin, moin

nginx liefert seine statischen HTML Seiten problemlos aus. Ist auch sichtbar, wenn der Server besucht wird - habe dort noch die nginx-testseite stehen, solange das PHP Problemchen keine Lösung findet.

Was mir nur nicht klar wird: Es wird im SSL.Conf an php-fpm übergeben, aber... nix passiert. Das irritiert mich, als könnte er mit https "intern" bei Übergabe innerhalb des Systems damit nicht umgehen.
 
teste mal an der Konsole per curl / wget - da sieht man oft mehr als im Browser.

... und parallel im Log nachschauen, ggf. Loglevel hochdrehen.
 
Back
Top