У меня возникла проблема с доступом к моему API Laravel, размещенному на Render. На локальном хосте все работает нормально (http://localhost:8000/api/), но когда я пытаюсь использовать URL-адрес рендеринга (https://myapi.onrender.com/api), я получаю ошибку 404. Я использовал это руководство, чтобы развертываю свой API, и я использую почтальон для отправки запросов.
Единственное, что у меня есть в журнале, это
: :1 - - [26/Sep/2024:21:07:46 +0000] "GET /api HTTP/1.1" 404 485 "-" "PostmanRuntime/7.42.0"
Я использую laravel 11 с PHP 8.3.
Кто-нибудь знает, как это исправить?
Спасибо
Редактировать 1:
Итак, я немного покопался. Видимо, проблема в том, что я добавляю что-то за URL-адресом рендеринга... Этот "https://my_url/" работает, а этот "https://my_url/api" - нет.
Итак, я сказал себе: «Может быть, маршруты не созданы», поэтому я добавил эту запятую «php artisan Route:list», и вот результат:
POST api/products ...... Products.store › ProductController@store
GET|HEAD api/products ...... Products.index › ProductController@index
GET|HEAD api ....... ......... сгенерировано::lnwA0mh8RHztYh4y
Как видите, маршруты созданы. Поэтому я думаю, что проблема связана с файлом "nginx-site.conf":
Код: Выделить всё
server {
# Render provisions and terminates SSL
listen 80;
# Make site accessible from http://localhost/
server_name _;
root /var/www/html/public;
index index.html index.htm index.php;
# 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;
# block access to sensitive information about git
location /.git {
deny all;
return 403;
}
add_header X-Frame-Options "SAMEORIGIN";
add_header X-XSS-Protection "1; mode=block";
add_header X-Content-Type-Options "nosniff";
charset utf-8;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location = /favicon.ico { access_log off; log_not_found off; }
location = /robots.txt { access_log off; log_not_found off; }
error_page 404 /index.php;
location ~* \.(jpg|jpeg|gif|png|css|js|ico|webp|tiff|ttf|svg)$ {
expires 5d;
}
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
include fastcgi_params+
}
# deny access to . files
location ~ /\. {
log_not_found off;
deny all;+
}
location ~ /\.(?!well-known).* {
deny all;
}
}
Подробнее здесь: https://stackoverflow.com/questions/790 ... ith-render
Мобильная версия