Я установил 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](https://i.stack.imgur.com/cnnHM.png)