Приветствую!
Есть SSR приложение на NuxtJS которое работает сейчас по адресу
localhost:3000
Хочу что бы оно было доступно по доменному имени
my-domain.dev
Я кинул файл Apache-PHP-7-x64+Nginx-1.12_vhostn.conf в папку /my-domain/public
И дальше ступор ... первый раз имею дело с NodeJS и Nginx =)
1. Домен еще обрабатывает апач, который наверное нужно перенаправить на папку /my-domain/public/api/ в которой будет бэкенд?
2. Как в конфигах прописать прокси
my-domain.dev ->
localhost:3000 ? Официальная дока NuxtJS не помогает, что бы я не делал сервер после этого не запускается вообще. Или вначале нужно разобраться с апачем?
UPDATE
С прокси вроде разобрался.
В Apache-PHP-7-x64+Nginx-1.12_vhostn.conf заменил
proxy_pass http://%ips%:%httpbackport%/;
на
proxy_pass http://localhost:3000;
Приложение начало открываться по домену. Но не отображалась статика (картинки и т.д.)
Удалил блок:
location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|js|cur|swf)$ {
root "%hostdir%";
expires 7d;
}
И вроде все заработало. Наверное коряво, но для тестирования на локальном сервере надеюсь будет достаточно.
Остался вопрос, как передать все запросы с /my-domain/public/api бэкенду на PHP?
Нужно как то папку api исключить из прокси...
UPDATE2
Добавил блок
location /api{
proxy_buffer_size 64k;
proxy_buffering on;
proxy_buffers 4 64k;
proxy_connect_timeout 5s;
proxy_ignore_client_abort off;
proxy_intercept_errors off;
proxy_pass http://%ips%:%httpbackport%;
proxy_pass_header Server;
proxy_read_timeout 5m;
proxy_redirect off;
proxy_send_timeout 5m;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $http_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
}
И собственно через mod_rewrite запрос поймал на /public/index.php, далее прописал уже роут для /api в бэкенде и вперед с песней =)
В общем все оказалось проще чем я думал. Если есть у кого комментарий, буду благодарен!
Дефолтный конфиг OpenServera:
#-----------------------------------------------#
# Конфигурация хоста для сервера Nginx
# Начало блока конфигурации хоста
#-----------------------------------------------#
server {
listen %ip%:%httpport%;
listen %ip%:%httpsport% ssl;
server_name %host% %aliases%;
ssl_certificate "%sprogdir%/userdata/config/cert_files/server.crt";
ssl_certificate_key "%sprogdir%/userdata/config/cert_files/server.key";
#add_header Strict-Transport-Security "max-age=94608000";
#if ($request_method !~* ^(GET|HEAD|POST)$ ){return 403;}
location ~ /\. {deny all;}
location / {
proxy_buffer_size 64k;
proxy_buffering on;
proxy_buffers 4 64k;
proxy_connect_timeout 5s;
proxy_ignore_client_abort off;
proxy_intercept_errors off;
proxy_pass http://%ips%:%httpbackport%/;
proxy_pass_header Server;
proxy_read_timeout 5m;
proxy_redirect off;
proxy_send_timeout 5m;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $http_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
}
location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|js|cur|swf)$ {
root "%hostdir%";
expires 7d;
}
location ^~ /apacheicons/ {
alias %sprogdir%/modules/http/%httpdriver%/icons/;
}
location ^~ /apacheerror/ {
alias %sprogdir%/modules/http/%httpdriver%/error/;
}
# Подключение веб-инструментов
#---------------------------------------#
# <Не изменяйте этот блок конфигурации>
location /openserver/ {
%allow%allow all;
allow 127.0.0.0/8;
allow ::1/128;
allow %ips%;
deny all;
location /openserver/server-status {
stub_status on;
}
proxy_buffer_size 64k;
proxy_buffering on;
proxy_buffers 4 64k;
proxy_connect_timeout 5s;
proxy_ignore_client_abort off;
proxy_intercept_errors off;
proxy_pass http://%ips%:%httpbackport%/openserver/;
proxy_pass_header Server;
proxy_read_timeout 5m;
proxy_redirect off;
proxy_send_timeout 5m;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $http_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
location ~* ^/openserver/.+\.(jpg|jpeg|gif|png|ico|css|js|cur|swf)$ {
root "%sprogdir%/modules/system/html";
expires 7d;
}
}
# <Не изменяйте этот блок конфигурации/>
#---------------------------------------#
}
#-----------------------------------------------#
# Конец блока конфигурации хоста
#-----------------------------------------------#