Перейти к содержимому

Обратный прокси nginx

Вы можете использовать ваш сервер nginx в качестве обратного прокси для запуска notifly.

Вот пример файла конфигурации, если ваш экземпляр notifly работает на порту 1245

upstream notifly {
# Установите порт, который вы используете в notifly
server 127.0.0.1:1245;
}
server {
listen 80;
# Здесь указывайте ваш домен / поддомен
server_name push.example.com;
location / {
# Мы настраиваем обратный прокси
proxy_pass http://notifly;
proxy_http_version 1.1;
# Обеспечение поддержки websockets
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
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 http;
proxy_redirect http:// $scheme://;
# Прокси должен сохранять хост, так как notifly проверяет хост с origin
# для подключений WebSocket
proxy_set_header Host $http_host;
# Это устанавливает timeout так, чтобы websocket могла оставаться активной
proxy_connect_timeout 1m;
proxy_send_timeout 1m;
proxy_read_timeout 1m;
}
}

Если вы хотите использовать HTTPS через nginx, оставьте параметр notifly NOTIFLY_SERVER_SSL_ENABLED=false и полагайтесь на nginx для шифрования вашего трафика так же, как для любого другого веб-сайта.

Вот эквивалент примера конфигурации выше, но работающий на подпути

upstream notifly {
# Установите порт, который вы используете в notifly
server 192.168.178.34:8080;
}
server {
listen 80;
server_name localhost;
location /notifly/ {
proxy_pass http://notifly;
rewrite ^/notifly(/.*) $1 break;
proxy_http_version 1.1;
# Обеспечение поддержки websockets
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
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 http;
proxy_redirect http:// $scheme://;
# Прокси должен сохранять хост, так как notifly проверяет хост с origin
# для подключений WebSocket
proxy_set_header Host $http_host;
proxy_connect_timeout 1m;
proxy_send_timeout 1m;
proxy_read_timeout 1m;
}
}