Много экспериментирую и создаю разные приложежния: vue spa + laravel api. Как вы быстро создаёте нужные домены?
Laravel herd очень нравиться: просто создаю новую папку, например, "api.components" , добавляю в hosts файл "127.0.0.1 api.components.test" и бек "
https://api.components.test" работает. Но как получить корректно работающий
https://components.test домен (vue app, без порта, то есть 443)?
Если прописать в vite.config:
import { fileURLToPath, URL } from 'node:url'
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import mkcert from 'vite-plugin-mkcert'
// https://vitejs.dev/config/
export default defineConfig({
plugins: [
vue(),
mkcert()
],
resolve: {
alias: {
'@': fileURLToPath(new URL('./src', import.meta.url))
}
},
server: {
host: 'components.test',
port: 443,
},
})
То не работает корректно, так как nginx, который в herd, использует этот порт.
Port 443 is in use, trying another one...
12:04:20 [vite] server restarted.
➜ Network: https://components.test:444/
И получаются разные top-level domains, и не могу использовать laravel session-based authorization.
Скачал nginx, сгенерировал ключи, добавил в nginx.conf:
server {
listen 443 ssl;
server_name components.test;
ssl_certificate nginx-selfsigned.crt;
ssl_certificate_key nginx-selfsigned.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://localhost:5173;
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 X-Forwarded-Proto $scheme;
}
}
Но и это не работает, работает только если нажать "stop all services" в laravel herd.
TL;DR
Хочу быстро создавать домены.
Захотел что-то проверить и хочу приблизительно так:
1) Создал внутри testsomething папке ещё две: backend, frontend
2) Прописал в hosts 127.0.0.1 testsomething.test api.testsomething.test
3) npm run dev
4) php artisan serve
5) Домены: testsomething.test и api.testsomething.test работают, и можно собственно начинать писать код.