Получение MAMP для работы с Laravel API-маршрутами на nginx - PullRequest
0 голосов
/ 08 марта 2020

Я установил MAMP, но не могу заставить его работать с моим Laravel проектом с маршрутами API.

Если я go на главной странице, он работает: https://example.test:7890

Если я пытаюсь получить доступ к любым маршрутам API, я получаю 404: https://example.test:7890/api/users

. Эти маршруты отлично работают на производстве и отображаются в route:list.

Вот мой nginx файл, сгенерированный MAMP:

#load_module "modules/ngx_http_image_filter_module.so";
#load_module "modules/ngx_http_perl_module.so";
#load_module "modules/ngx_http_xslt_filter_module.so";
#load_module "modules/ngx_mail_module.so";
#load_module "modules/ngx_stream_module.so";

user                        myself staff;
worker_processes            auto;

events {
    worker_connections      1024;
}

http {
    include                 /Applications/MAMP/conf/nginx/mime.types;
    default_type            text/html;
    gzip                    on;
    gzip_types              text/css text/x-component application/x-javascript application/javascript text/javascript text/x-js text/richtext image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon;

    sendfile                on;
    keepalive_timeout       65;

    # access_log            "/Applications/MAMP/logs/nginx_access.log";
    error_log               "/Applications/MAMP/logs/nginx_error.log";

    server_names_hash_bucket_size  128;



    server {
        listen              7888 default_server;
        listen              7890 default_server ssl;
        ssl_ciphers         'aNULL';
        ssl_certificate     "/Applications/MAMP/conf/server/default.crt";
        ssl_certificate_key "/Applications/MAMP/conf/server/default.key";

        return 444;
    }

    server {
        listen              7888;
        server_name         localhost;

        root                "/Applications/MAMP/htdocs";

        location / {
            index            index.html index.php;
        }

        location ~* /MAMP([^-].*)$ {
            root             "/Library/Application Support/appsolute/MAMP PRO";
            index            index.php;

            location ~ \.php$ {
                try_files        $uri =404;
                fastcgi_pass     unix:/Applications/MAMP/Library/logs/fastcgi/nginxFastCGI_php7.4.2.sock;
                fastcgi_param    SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include          /Applications/MAMP/conf/nginx/fastcgi_params;
            }
        }

        location ~* /phpMyAdmin(.*)$ {
            root             "/Library/Application Support/appsolute/MAMP PRO";
            index            index.php;

            location ~ \.php$ {
                try_files        $uri =404;
                fastcgi_pass     unix:/Applications/MAMP/Library/logs/fastcgi/nginxFastCGI_php7.4.2.sock;
                fastcgi_param    SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include          /Applications/MAMP/conf/nginx/fastcgi_params;
            }
        }

        location ~* /phpPgAdmin(.*)$ {
            root             /Applications/MAMP/bin;
            index            index.php;

            location ~ \.php$ {
                try_files        $uri =404;
                fastcgi_pass     unix:/Applications/MAMP/Library/logs/fastcgi/nginxFastCGI_php7.4.2.sock;
                fastcgi_param    SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include          /Applications/MAMP/conf/nginx/fastcgi_params;
            }
        }

        location ~* /phpLiteAdmin(.*)$ {
            root             /Applications/MAMP/bin;
            index            index.php;

            location ~ \.php$ {
                try_files        $uri =404;
                fastcgi_pass     unix:/Applications/MAMP/Library/logs/fastcgi/nginxFastCGI_php7.4.2.sock;
                fastcgi_param    SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include          /Applications/MAMP/conf/nginx/fastcgi_params;
            }
        }

        location ~* /adminer(.*)$ {
            root             /Applications/MAMP/bin;
            index            adminer.php;

            location ~ \.php$ {
                try_files        $uri =404;
                fastcgi_pass     unix:/Applications/MAMP/Library/logs/fastcgi/nginxFastCGI_php7.4.2.sock;
                fastcgi_param    SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include          /Applications/MAMP/conf/nginx/fastcgi_params;
            }
        }

        location /icons {
            alias /Applications/MAMP/Library/icons;
            autoindex on;
        }

        location /favicon.ico {
            alias /Applications/MAMP/bin/favicon.ico;
            # log_not_found off;
            # access_log off;
        }

        location ~ \.php$ {
            try_files        $uri =404;
            fastcgi_pass     unix:/Applications/MAMP/Library/logs/fastcgi/nginxFastCGI_php7.4.2.sock;
            fastcgi_param    SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include          /Applications/MAMP/conf/nginx/fastcgi_params;
        }

        location ~ /\. {
            deny all;
        }

        # location ~* \.(gif|jpg|png|pdf)$ {
        #     expires          30d;
        # }

        # location = /robots.txt {
        #     allow all;
        #     log_not_found off;
        #     access_log off;
        # }

        # location ~* \.(txt|log)$ {
        #     allow 127.0.0.1;
        #     deny all;
        # }

        # location ~ \..*/.*\.php$ {
        #     return 403;
        # }

        location /nginx_status {
            stub_status      on;
            access_log       off;
            allow            127.0.0.1;
            deny             all;
        }
    }


    server {
        server_name         example.test;
        listen              7888;
        return              301 https://example.test:7890$request_uri;
    }



    server {
        server_name         example.test;
        listen              7890 ssl;


        root                "/Users/myself/Sites/example/public";
        # access_log          "/Applications/MAMP/logs/nginx_ssl_access.log";
        error_log           "/Applications/MAMP/logs/nginx_ssl_error.log";

        ssl_certificate     "/Applications/MAMP/Library/OpenSSL/certs/example.test.crt";
        ssl_certificate_key "/Applications/MAMP/Library/OpenSSL/certs/example.test.key";
        ssl_session_cache   shared:SSL:10m;
        ssl_session_timeout 10m;
        ssl_session_tickets off;

        #ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;
        #ssl_ciphers         'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256';
        #ssl_prefer_server_ciphers  on;
        #add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;

        location / {
            try_files       $uri $uri/ /index.php?$query_string;
            index           index.html index.php;
            autoindex       off;
            allow           all;
            deny            all;

        }

        location ~ \.php$ {
            try_files        $uri =404;
            fastcgi_pass     unix:/Applications/MAMP/Library/logs/fastcgi/nginxFastCGI_php7.4.2.sock;
            fastcgi_param    SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include          /Applications/MAMP/conf/nginx/fastcgi_params;
        }

        location ~ [^/]\.php(/|$) {
            try_files        $uri $uri/ /index.php?$query_string;
            fastcgi_split_path_info ^(.+\.php)(/.+)$;
            include fastcgi_params;
            fastcgi_param PATH_INFO $fastcgi_path_info;
            fastcgi_index index.php;
            fastcgi_pass     unix:/Applications/MAMP/Library/logs/fastcgi/nginxFastCGI_php7.4.2.sock;
            fastcgi_param    SCRIPT_FILENAME $fastcgi_script_name;
            include          /Applications/MAMP/conf/nginx/fastcgi_params;
            fastcgi_intercept_errors off;
            fastcgi_buffer_size 16k;
            fastcgi_buffers 4 16k;
        }
    }

}

Конечно, я ограничен тем, что могу вставить в конфигурацию MAMP их GUI. Если я что-то изменяю вручную, он перезагружает весь файл при перезапуске службы.

enter image description here

...