当我在 NginX 中提供服务时,如何通过 reactjs 访问 laravel 中的 public 文件夹?
How to access public folder in laravel through reactjs when I serve them in NginX?
我正在使用 Reactjs 和 Laravel(Breeze 版本)开发一个项目。
该项目是 dockerized 和服务,我使用 Nginx 作为 web 服务。我通过将 /api 添加到前端 url.
的末尾来将其配置为访问 laravel 后端
一切都很好,但是当我尝试访问 public 文件夹(在后端)中上传的图像文件时,出现 404 错误。
这是我的 nginx 配置文件:
.
.
.
# laravel backend
location ~ /api {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
root /var/www/html/backend/public;
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass laravel:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_hide_header X-Powered-By;
}
.
.
.
.
我的前端 nginx 配置文件中有另一个根:
server {
listen 80 default_server;
server_name _;
server_tokens off;
root /var/www/html/frontend;
.
.
.
在 Nginx 配置文件中为我的上传文件夹添加新位置(在 laravel public 文件夹内)花了几个小时后问题得到解决:
location /uploads/ {
alias /var/www/html/backend/public/uploads/;
}
我正在使用 Reactjs 和 Laravel(Breeze 版本)开发一个项目。
该项目是 dockerized 和服务,我使用 Nginx 作为 web 服务。我通过将 /api 添加到前端 url.
的末尾来将其配置为访问 laravel 后端一切都很好,但是当我尝试访问 public 文件夹(在后端)中上传的图像文件时,出现 404 错误。
这是我的 nginx 配置文件:
.
.
.
# laravel backend
location ~ /api {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
root /var/www/html/backend/public;
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass laravel:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_hide_header X-Powered-By;
}
.
.
.
.
我的前端 nginx 配置文件中有另一个根:
server {
listen 80 default_server;
server_name _;
server_tokens off;
root /var/www/html/frontend;
.
.
.
在 Nginx 配置文件中为我的上传文件夹添加新位置(在 laravel public 文件夹内)花了几个小时后问题得到解决:
location /uploads/ {
alias /var/www/html/backend/public/uploads/;
}