
Ich habe eine interne PHP-Anwendung, die bei Benutzern praktisch jeden Nachmittag einfriert. Normalerweise starte ich die Anwendung (Docker) neu und das lindert das Problem für einen Tag, löst es aber nicht dauerhaft. Deshalb habe ich mir heute das Nginx-Fehlerprotokoll genauer angesehen. Bei genauerer Betrachtung der Fehler wurde mir klar, dass die Anfrage an 172.17.8.101 gesendet wurde. Diese IP ist eine lokale IP, die ich lokal für die Entwicklung verwende, aber wenn ich in die Produktion gehe, ist die IP 192.168.254.96. Ich dachte also, ich könnte zwei verschiedene IPs in den Serverblock einfügen, aber da muss ich mich geirrt haben.
2015/03/03 15:44:44 [error] 42#0: *7006 open() "/var/www/contentlibrary/favicon.ico" failed (2: No such file or directory), client: 192.168.254.63, server: 172.17.8.101, request: "GET /favicon.ico HTTP/1.1", host: "192.168.254.96:8083"
2015/03/03 15:44:44 [error] 42#0: *7006 open() "/var/www/contentlibrary/favicon.ico" failed (2: No such file or directory), client: 192.168.254.63, server: 172.17.8.101, request: "GET /favicon.ico HTTP/1.1", host: "192.168.254.96:8083"
2015/03/03 14:11:17 [error] 40#0: *6715 upstream timed out (110: Connection timed out) while reading response header from upstream, client: 192.168.254.80, server: 172.17.8.101, request: "POST /pagecreator/index.php/page_creator/grouping/getGroupsByContentId HTTP/1.1", upstream: "fastcgi://unix:/tmp/php-fpm.sock", host: "192.168.254.96:8083", referrer: "http://192.168.254.96:8083/app/index.php?user=John%20Doe"
2015/03/03 14:22:15 [error] 40#0: *6726 open() "/var/www/contentlibrary/favicon.ico" failed (2: No such file or directory), client: 192.168.254.63, server: 172.17.8.101, request: "GET /favicon.ico HTTP/1.1", host: "192.168.254.96:8083"
Der Serverblock in der Konfigurationsdatei verwendete mehrere Servernamen. Da dies in der Produktion zu Problemen führt, wie könnte ich meine Entwicklungsumgebung unterstützen, ohne zwei verschiedene Serverblöcke zu erstellen?
include /etc/nginx/conf.d/*.conf;
index index.php index.html index.htm;
## Content Library
server {
server_name 172.17.8.101 192.168.254.96; // Problem HERE
#access_log logs/contentlibrary_access.log;
root /var/www/contentlibrary;
#default_type text/html;
index index.php index.html index.htm;
location / {
}
location /app{
try_files $uri $uri/ /index.php /index.php$uri =404;
root /var/www/contentlibrary/app;
}
location ~* \.(jpg|jpeg|gif|png|html|htm|css|zip|tgz|gz|rar|doc|xls|pdf|ppt|tar|wav|bmp|rtf|swf|flv|txt|xml|docx|xlsx|js)$ {
try_files $uri $uri/ /index.php$uri =404;
access_log off;
expires 30d;
}