BoxExchanger
  • Вернутся на сайт
  • Начало работы
    • Настройка безопасности
      • Создание админа
      • Настройка прав администратора (роли)
      • Установка двухфакторной аутентификация
      • Ограничения доступа админ панели по IP
        • Установка ограничения на CloudFlare
        • Установка ограничений в админ панели
      • Установка ограничение по header host
    • Настройка дизайна
    • Технические работы
    • Уведомление на сайте
      • Создание
      • Редактирование
    • Избраные курсы
      • Создание
      • Редактирование
    • Подключение онлайн чата
      • Подключение чата LiveChat
      • Подключение чата JivoSite
      • Подключение чата HelpCrunch
    • Добавление контактов
    • Настройка почты
      • Отправка копии отправленных писем
      • Подключение GMail почты
      • Подключение Zoho почты
      • Подключение dynadot почты
    • Вопросы и ответы
      • Создать
    • Настройка AntiBot системы
      • Установка reCAPTCHA
    • Правила
      • Создание
      • AML/KYC Политика
    • Партнеры
      • Создание партнера
      • Редактирование
    • Новости
      • Создание
    • Отзывы
      • Создать
      • Список отзывов
    • Статичные страницы
      • Создание
    • Настройки авторизации пользователя
    • Настройка идентификаторов
    • Настройка истории действий
  • Обмен
    • Валюты
      • Список валют
      • Логотип валюты
      • Название валюты
      • Тип валюты
      • Точность суммы
      • XML валюты
      • Курс к USD
      • Резервы
      • Настройка поля валюты
      • Прием платежей
      • Настройка выплаты
      • AML проверка
      • Верификация
    • Сортировка направлений
    • Направление
      • Приоритетные модули
      • Плавающий курс
      • Страховка курса
      • SEO-friendly URL (ЧПУ)
      • Документы
      • Дополнительные услуги
    • Настройка группы направлений
    • Мерчант и АПИ
      • 001k bot
        • Мерчант 001k bot
        • Выплаты 001k bot
      • Биржа whitebit
        • Взаимодействие модулей
        • Мерчант whitebit
        • Выплаты whitebit
      • BetPay
        • Мерчант BetPay
        • Выплаты BetPay.money
      • Heleket
        • Мерчант Heleket
        • Выплаты Heleket
      • Paylink.finance
        • Мерчант Paylink.finance
        • Выплаты Paylink.finance
      • VelPay
        • Выплаты VelPay
      • Мерчант BSC BEP20
      • Мерчант Billline
      • Мерчант Bitconce
      • Мерчант By password
      • Мерчант Dynamic requisites
      • Мерчант EVM Token
      • Мерчант ETH ERC20
      • Мерчант TRON TRC20
      • Мерчант Monerod
      • Мерчант Payeer
      • Мерчант Perfect Money
      • Мерчант WestWallet.io
      • Настройка Inqud
      • Выплаты Agents Telegram
      • Выплаты Auto Success
      • Выплаты Binance
      • Выплаты Kuna.io
      • Выплаты PSPline
      • Выплаты WestWallet.io
    • Парсер курсов
      • BestChange v2
      • BetPay.Money
      • CurrencyLayer
      • Heleket
      • Kurs.Expert
      • PancakeSwap
      • Paylink.finance
      • VelPay
      • whitebit v2
      • XML file
    • Верификации
    • Расчет суммы обмена
  • Заявки
    • Список обменов
    • Заявки
      • Статусы заявки
    • Автоматическое добавление резерва
  • Партнерская программа
    • Партнерские направления
    • Партнёрские обмены
    • Реферальные настройки
  • AML плагины
    • CUBE3
    • CrystalBlockchain
    • AMLBot.com
    • GetBlock.net
  • Дополнительные системы
    • Внутренний кошелек
    • Расписания
    • Approve underpaid orders
    • Heleket модули
      • Heleket auto update fee
      • Heleket control available
      • Heleket auto min amount for TO currency
    • Install plugin
    • KYC модули
      • KYC Модуль Kycaid
      • KYC Модуль AMLBot
      • KYC Модуль SumSub
    • Whitebit модули
      • WhiteBit Exchanger auto update fee
      • WhiteBIT control available
      • WhiteBIT auto min amount for TO currency
    • BestChange ScamAPI
  • Системы авторизации
    • Авторизация Apple
    • Авторизация Google
  • Для разработчиков
    • Установка проекта
      • Сервер для обменника
        • Vultr
        • DigitalOcean
          • Удаление VDS на DigitalOcean
        • Hetzner Cloud
          • Изменения размера VDS на Hetzner
          • Удаление VDS на Hetzner
      • Настройки CloudFlare
      • Установка Nginx
      • Установка ПО
        • Установка NodeJs
        • Установка MongoDB
        • Установка exchanger-api
        • Установка exchanger-web
        • Настройка сборки на CloudFlare Workers
    • Настройка Telegram Bot
    • Доступ к исходному коду
    • Миграция Git BoxExchanger
    • Разработка client-web
      • Локальный запуск
      • Применения изменений
    • Шаблоны писем
      • Локализация шаблонов
    • Загрузка статического файла
    • Структура проекта
    • Настройки API документации
    • Установка Node
      • Bitcoin Node
      • Monero Node
      • Ethereum Node
      • Tron Node
    • Разработка модулей
      • Мерчант системы
      • Модуль выплат
      • Парсер курсов
    • Отправка логов разработчикам
    • Процессинг платежей API
    • Настройка VPN (openvpn)
    • Установка SOCKS5-прокси
    • Настройка бекап на B2
    • Настройка Firewall
      • Настройка доступа порта 22 (ssh)
      • Настройка доступа портов 80,443 (http/s)
      • IP в белый список CloudFlare
    • Webhook уведомления URL
      • Новый обмен
      • Новая верификация (ручная)
      • Обновление статуса заявки
      • Регистрация пользователя
  • Журнал изменений
Powered by GitBook
On this page

Was this helpful?

  1. Для разработчиков
  2. Установка проекта

Установка Nginx

Устанавливаем Nginx:

apt-get install -y nginx

Пример Nginx конфигурации для обменика:

Вам необходимо заменить домен domain.com и админ домен: admin.domain.com

/etc/nginx/sites-enabled/domain.conf
map $http_upgrade $connection_upgrade {
    default upgrade;
    ""      close;
}
server {
    listen 80;
    server_name domain.com;    return 301 https://www.domain.com$request_uri;
}
server {
    listen 80;
    server_name www.domain.com;
    root "/var/www/exchanger-client-web";
    gzip on;
    gzip_comp_level 9;
    gzip_disable "msie6";
    gzip_types application/javascript text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
    index index.html;
    charset utf-8;

    add_header "X-Frame-Options" "SAMEORIGIN";
    add_header "X-XSS-Protection" "1; mode=block";
    add_header "X-Content-Type-Options" "nosniff";

    location / {
        root /var/www/exchanger-client-web/dist/client;
        rewrite ^([^.]*[^/])$ $1/ permanent;
        try_files $uri $uri/ /200.html;
        # expires 7d;
    }
    access_log off;
    error_log  /var/www/exchanger-client-web/nginx-error.log error;
    sendfile off;
    client_max_body_size 100m;


    location /service/ {
        proxy_pass http://127.0.0.1:3010/;
        proxy_http_version 1.1;
        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 Host $http_host;
        proxy_set_header X-NginX-Proxy true;
        proxy_redirect off;
    }

    location /service/fs {
        alias /var/www/exchanger-api/public;
    }

    location /tg/ {
        proxy_pass http://127.0.0.1:3003/;
        proxy_http_version 1.1;
        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 Host $http_host;
        proxy_set_header X-NginX-Proxy true;
        proxy_redirect off;
    }
    #location /service/fs {
    #    alias /var/www/exchanger-api/public;
    #}
    location /ws/ {
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";
        proxy_pass http://127.0.0.1:3011/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-Proto https;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_redirect    off;
    }
}


server {
    listen 80;
    server_name admin.domain.com;
    root "/var/www/exchanger-admin-web";
    gzip on;
    gzip_comp_level 9;
    gzip_disable "msie6";
    gzip_types application/javascript text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
    index index.html index.htm index.php;
    charset utf-8;

    add_header "X-Frame-Options" "DENY";
    add_header "X-XSS-Protection" "1; mode=block";
    add_header "X-Content-Type-Options" "nosniff";

    location / {
        root /var/www/exchanger-admin-web/dist/admin;
        try_files $uri $uri/ /index.html;
        # cache
        # expires 7d;
    }

    access_log off;
    error_log  /var/www/exchanger-admin-web/nginx-error.log error;
    sendfile off;
    client_max_body_size 100m;

    location /service/ {
        proxy_pass http://127.0.0.1:3010/;
        proxy_http_version 1.1;
        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 Host $http_host;
        proxy_set_header X-NginX-Proxy true;
        proxy_redirect off;
    }

    location /service/fs {
        alias /var/www/exchanger-api/public;
    }
}

Last updated 1 year ago

Was this helpful?