Как настроить nginx, чтобы дать доступ к папке хранения? - PullRequest
1 голос
/ 22 апреля 2020

У меня есть следующая nginx конфигурация, которая отлично работает. У меня есть API (Expressjs) в / api и Frontend Development (Vuejs) в /:

server {
        server_name example.com www.example.com;

        root /var/www/domain.com/public_html;

        index index.html index.htm;

        location / {
                try_files $uri $uri/ /index.html =404;
        }

        location /api {

                proxy_set_header 'Access-Control-Allow-Origin' 'https://example.com';
                proxy_set_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, PUT, DELETE';
                proxy_set_header 'Access-Control-Allow-Headers' 'X-Requested-With,Accept,Content-type,Origin';

                proxy_pass http://127.0.0.1:8000;
                proxy_redirect off;
                proxy_buffering on;

                proxy_set_header        Host            $host;
                proxy_set_header        X-Real-IP       $remote_addr;
                proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header        origin          'https://example.com';
        }

В моем API есть папка c publi (public/storage/) где я могу хранить изображения. Но при попытке доступа к этой папке у меня ошибка 404. Как мне настроить сервер nginx на предоставление доступа к папке хранилища?

1 Ответ

2 голосов
/ 22 апреля 2020

Обратите внимание, когда URI запроса: http://example.com/api/public/storage/image.jpg

Тогда запрос на прокси будет таким же. например,

http://127.0.0.1:8000/api/public/storage/image.jpg

Если вы хотите это изменить, вам следует добавить URI к самой директиве proxy_pass. например,

proxy_pass http://127.0.0.1:8000/public/;.

, который будет сопоставлять запросы с:

http://127.0.0.1:8000/public/public/storage/image.jpg

(намеренно существует двойной public).

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