Является ли моя Nginx конфигурация виновником 500 внутренних ошибок сервера? - PullRequest
0 голосов
/ 26 января 2020

Я столкнулся с проблемой, при которой приведенная ниже конфигурация Nginx возвращает внутреннюю ошибку сервера , когда кто-то посещает URL-адрес, который не существует на сервере. Ожидаемый ответ для сервера, чтобы возвратить статус 404. Есть ли в этой конфигурации что-то, что выдаст код состояния 500, а не 404?

Примечание: (фактический домен был заменен на example.com )

  • ОС: Ubuntu 18.04 LTS
  • Хост: Пакет
  • Nginx: 1.15.9
server {
        listen 443 ssl http2;
        listen [::]:443 ssl http2;
        server_name www.example.com;

        root /srv/www/example.com/pub;

        index index.html index.php;

        access_log /srv/www/example.com/log/access.log;
        error_log  /srv/www/example.com/log/error.log info;

        ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # managed by Certbot
        ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # managed by Certbot
        include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
        ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbo


        location / {
                #if ($request_uri ~ ^/(.*)\.html$) {  return 301 /$1;  }
                try_files $uri $uri/ $uri.html $uri.php?$args;
        }

        location = / {expires max;}

        location ~* \.(?:ico|asf|asx|wax|wmv|wmx|avi|bmp|class|css|divx|doc|docx|exe|eot|ttf|ttc|otf|woff|woff2|mp4|ogg|ogv|webm|gif|gz|gzip|htc|ico|jpeg|jpg|png|js|mdb|mid|mi)$ {
                expires 1y;
                add_header "Access-Control-Allow-Origin" "*";
                add_header Cache-Control "public";
        }
}

# Redirect http to https
server {
        listen 80;
        listen [::]:80;
        server_name example.com www.example.com;

        return 301 https://www.example.com$request_uri;
}

# Redirect www to non-www
server {
        listen 443;
        listen [::]:443;
        server_name example.com;

        return 301 https://www.example.com$request_uri;
}
...