Страница 1 из 1

OSPanel6 + Nuxt + Nginx

Добавлено: 28 янв 2025, 17:22
mrFlyer
Может кому пригодится или кто то посоветует что оптимальное.

Если нужно запустить Nuxt приложение через Nginx действия:

1. Создаем конфиг домена: .osp/project.ini
[my-domain.comdev]

node_engine       = Node-20.11.0
nginx_engine      = Nginx-1.26
project_url       = https://{host_decoded}
public_dir        = {base_dir}\public
ssl               = on
ssl_cert_file     = auto
ssl_key_file      = auto

2. Создаем конфиг nginx: .osp/nginx/my-domain.comdev.conf
Проксируем запросы на IP панели, а не локалхост как обычно.
location ~ (/|/_nuxt/|@fallback) {
       proxy_pass http://127.127.126.55:3001;
       proxy_set_header Host $host;
       proxy_http_version 1.1;

       proxy_set_header Upgrade $http_upgrade;
       proxy_set_header Connection "upgrade";
       proxy_cache_bypass $http_upgrade;
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
       proxy_set_header X-Forwarded-Proto $scheme;

       types {
           application/javascript js;
           text/css css;
       }

       add_header Cache-Control "no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0" always;
       add_header Pragma "no-cache" always;
       add_header Expires 0 always;
}

3. В файл окружения nuxt .env в корне проекта пишем:
PORT=3001
HOST=my-domain.comdev

4. Правим конфиг файл nuxt.config:
Тут нужно давить хост в allowedHost в vite, берем его из файла окружения.
{
  vite: {
      server: {
          allowedHosts: [process.env.host],
      },
}

После запускаем приложение и открываем через браузер сайт по https.

PS для продакшена env окружение запускается так:
node --env-file .env .output/server/index.mjs