У меня есть два сервера, работающих на дроплете DigitalOcean. Одним из них является приложение Django / Wagtail, которое поставляется с Gunicorn (используется как безголовая CMS), а другое - приложение SSR Nuxt.js (внешний интерфейс). Используя следующую конфигурацию nginx, я сделал приложение Nuxt доступным на example.com
(прекрасно работает), и теперь я пытаюсь сделать мое приложение Django / Wagtail доступным на поддомене cms.example.com
. (Я изменил свой локальный файл hosts, так что домен example.com
фактически функционирует)
/etc/nginx/sites-available/default
server {
listen 80;
listen [::]:80;
server_name example.com;
location / {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
server {
listen 80;
listen [::]:80;
server_name cms.example.com;
location / {
include proxy_params;
proxy_pass http://unix:/home/thomas/daweb/cms/cms.sock;
}
}
/etc/nginx/proxy_params
proxy_set_header Host $http_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;
Результат от curl --unix-socket /home/thomas/daweb/cms/cms.sock cms.example.com
- это HTML-код целевой страницы Wagtail по умолчанию, ошибок нет.
Однако переход к cms.example.com
только дает мне ошибку соединения. Если я поменяю их местами, я увижу интерфейс Wagtail на example.com
, так что я знаю, что они оба работают. Тем не менее, я не могу понять, как настроить поддомен, и я пытаюсь понять документацию nginx. Также похожие вопросы о настройке поддоменов обычно касаются доступности статических файлов, а не прослушивания активных портов.
Еще одна проблема заключается в том, что Wagtail CMS доступен на /admin
своего корневого сервера, поэтому мне бы хотелось, чтобы эта страница отображалась на cms.example.com
, а не переходить на cms.example.com/admin
. Любая помощь будет принята с благодарностью!