- Арендуем сервер и привязываем к нему сайт через dns, либо используем домен предоставляемый хостингом.
- Для примера представим что наш сайт example.com ведет на этот сервер.
- Запускаем команду, которая прокидывает ssh туннель до сервера
ssh -R 127.0.0.1:8080:127.0.0.1:3000 -N -f [email protected]
# Описание аргументов:
# -R [bind_address:]port:host:hostport - Прокидывает локальный порт на удаленный сервер
# 3000 - Порт на котором висит локально работающий проект
# 8080 - Порт на котором мы хотим видеть проект на сервере, в целом можно указать 80, если ничего на нем нет и есть домен от хостинга.
# -N - Не выполнять команду на сервере (Для проброса портов нам не нужны команды)
# -f - Вполнять команду в фоне (Туннель будеть висеть в фоновом процессе, этот аргумент можно убрать)
# [email protected] - данные для подключения к серверу
- После этого шага по адресу вашего сервера будет доступен запущеный локально сервер http://example.com:8080/ (но это не точно, возможно в команде выше нужно поменять первый ip на ip вашего сервера)
- Для доступа по https нужно установить nginx
- Чтобы localhost:8080 превратился в домен третьего уровня используем proxy_pass:
server {
listen 80;
server_name react.example.com;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
}
root /home/www/;
}
- Сейчас ваш проект доступен по адресу http://react.example.com/
- Затем вы можете поставить сгенерировать домену ssl сертификат для доступа по https (гугли letsencrypt nginx)