Рейтинг:0

Хост-приложение в подкаталоге основного приложения

флаг gb

Итак, у меня есть основной сайт, созданный с помощью React и Express.Теперь я хочу добавить часть блога на свой сайт, созданную с помощью next.js. Однако я не хочу размещать его на чем-то вроде blog.example.com Я предпочел бы разместить его на пример.com/блог.

Я использую дроплет цифрового океана под управлением Ubuntu 18.04 и nginx. Я просмотрел вопросы, похожие на мои, но не смог заставить это работать. Я вставил свою конфигурацию nginx ниже и добавил кодовую метку в блок местоположения, который не работает.

сервер {

        корень /var/www/html;

        # Добавьте index.php в список, если вы используете PHP
        индекс index.html index.htm index.nginx-debian.html;
    имя_сервера пример.com; # под управлением Certbot

        место расположения / {
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header Хост $http_host;
                proxy_set_header X-NginX-Proxy true;
                прокси_http_версия 1.1;
                proxy_set_header Обновить $http_upgrade;
                proxy_set_header Обновление соединения;
                proxy_max_temp_file_size 0;
                proxy_pass http://my_nodejs_upstream/;
                прокси_перенаправление выключено;
                proxy_read_timeout 240 с;
        }

        расположение /API {
                proxy_pass http://localhost:3001;
        }
        
        # ЭТОТ БЛОК НЕ РАБОТАЕТ 
        местоположение/блог {
                корень /блог; # каталог /blog находится в корневой папке           
        }


    слушать [::]:443 ssl ipv6only=on; # под управлением Certbot
    слушать 443 ssl; # под управлением Certbot
    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # под управлением Certbot
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # под управлением Certbot
    включить /etc/letsencrypt/options-ssl-nginx.conf; # под управлением Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # под управлением Certbot
 }

Я новичок в настройке nginx, поэтому прошу прощения, если это простая ошибка. Спасибо.

Richard Smith avatar
флаг jp
Путь к файлу представляет собой конкатенацию корневого значения с URI. Ваша конфигурация помещает `/blog/foo` в `/blog/blog/foo`. Вероятно, вам следует использовать `root /;`, чтобы указать на каталог `blog` в корне вашей файловой системы.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.