Ich hoffe, Sie können helfen, aber ich erhalte unten eine Fehlermeldung, wenn ich versuche, auf den Admin-Bereich unseres Blogs zuzugreifen.
Keine Eingabedatei angegeben.
Der eigentliche Blog funktioniert gut, aber nicht die Login/Admin-Bereiche.
Laut Titel befindet sich der Blog auf einem separaten Server als Hauptdomäne und verwendet Proxy-Pass, um Anfragen so weiterzuleiten.
upstream blog {
server 111.111.111.111:443 weight=2 max_fails=3 fail_timeout=60s;
}
server{
...
location /blog {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
proxy_pass https://blog;
}
}
Die nginx-Einstellungen, die ich auf dem Blog-Server habe, sind wie folgt.
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name www.domain.com;
root /home/www.domain.com/public;
add_header X-Frame-Options "SAMEORIGIN";
add_header X-XSS-Protection "1; mode=block";
add_header X-Content-Type-Options "nosniff";
index index.html index.htm index.php;
charset utf-8;
location / {
try_files $uri $uri/ /blog/index.php?$query_string;
}
error_log /var/log/nginx/www.domain.com-error.log error;
error_page 404 /index.php;
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php/php5.6-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
Hier sind die fastcgi_params, falls es auch hilft.
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param SCRIPT_FILENAME $request_filename;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;
fastcgi_param HTTPS $https if_not_empty;
fastcgi_param REDIRECT_STATUS 200;
fastcgi_param HTTP_PROXY "";
Ich verstehe, dass ich glaube, dass PHP die Datei index.php nicht finden kann?
Hoffe jemand kann helfen..
Ist
fastcgi_param SCRIPT_FILENAME
existiert infastcgi_params
?– Dmitry MiksIr
19. Januar 2017 um 17:15 Uhr
Ja. Wenn Sie aktualisieren, habe ich hinzugefügt, was dort drin ist.
– Lee
19. Januar 2017 um 17:26 Uhr
Funktionieren Anfragen an den zweiten Server direkt? Und Fehler nur bei Anfrage über den ersten Server?
– Dmitry MiksIr
19. Januar 2017 um 17:34 Uhr
Ja. Wenn ich meine Hosts-Datei ändere, um direkt damit zu arbeiten, funktioniert es. ich denke das fragst du..
– Lee
19. Januar 2017 um 17:35 Uhr
Kann keine Probleme sehen (außer besser zu bedienen
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
). Kann Probleme im übersprungenen Teil der ersten Konfiguration geben.– Dmitry MiksIr
19. Januar 2017 um 17:41 Uhr