Перепишите / ping в index.php / ping на nginx - PullRequest
0 голосов
/ 20 июня 2020

Я начал с изображения docker, в котором есть процессор для php файлов. Запрос обычного файла index. php проходит без проблем, но добавленные мной маршруты менее доступны. Например, один из маршрутов - / time, доступ к нему осуществляется (с помощью встроенного веб-сервера php) с помощью index.php / time, и он вернет мне время. Теперь у docker, который я использовал, php работает отлично, просто я думаю, что одно из правил нарушает эту функциональность для меня. пробовал много изменений, но, похоже, не смог найти проблему.

$app->get('/time', function ($request, $response, $args) {
        // Current Unix timestamp
        $seconds = time();
        // Current Unix timestamp with microseconds
        $milliseconds = microtime(true)*1000;
        // Nanosecond precision
        // This is default as per InfluxDB standard
        $nanoseconds = $milliseconds*1000000;
        // Return
        return $response->withJson(array(
                'seconds' => $seconds,
                'milliseconds' => intval($milliseconds),
                'nanoseconds' => intval($nanoseconds)
        ), 200);
});

Это конфигурация сервера nginx, который я обслуживаю в docker. Одна из вещей, которые я пробовал, - это добавить строку location / ping {. Но безрезультатно, / ping, / time продолжают перенаправлять на 404, не найденный.

server {
        listen   80; ## listen for ipv4; this line is default and implied
        listen   [::]:80 default ipv6only=on; ## listen for ipv6

        root /var/www/html/public;
        index index.php index.html index.htm;

        # Make site accessible from http://localhost/
        server_name _;

        # Disable sendfile as per https://docs.vagrantup.com/v2/synced-folders/virtualbox.html
        sendfile off;

        # Add stdout logging
        error_log /dev/stdout info;
        access_log /dev/stdout;

        # Add option for x-forward-for (real ip when behind elb)
        #real_ip_header X-Forwarded-For;
        #set_real_ip_from 172.16.0.0/12;

        location /ping {
                try_files $uri $uri/ /index.php/ping;
        }

        location / {
                # First attempt to serve request as file, then
                # as directory, then fall back to index.html
                try_files $uri $uri/ =404;
        }

        error_page 404 /404.html;
        location = /404.html {
                root /var/www/errors;
                internal;
        }

        location ^~ /sad.svg {
            alias /var/www/errors/sad.svg;
            access_log off;
        }
        location ^~ /twitter.svg {
            alias /var/www/errors/twitter.svg;
            access_log off;
        }
        location ^~ /gitlab.svg {
            alias /var/www/errors/gitlab.svg;
            access_log off;
        }

        # pass the PHP scripts to FastCGI server listening on socket
        #
        location ~ \.php$ {
                try_files $uri =404;
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_pass unix:/var/run/php-fpm.sock;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                fastcgi_param SCRIPT_NAME $fastcgi_script_name;
                fastcgi_index index.php;
                include fastcgi_params;
        }

        location ~* \.(jpg|jpeg|gif|png|css|js|ico|webp|tiff|ttf|svg)$ {
                expires           5d;
        }

        # deny access to . files, for security
        #
        location ~ /\. {
                log_not_found off;
                deny all;
        }

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

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...