FaionWeb
@FaionWeb

Как настроить route в debian с определенного поддомена на определенный порт?

Суть такова - на 80 порту висит апач, он обрабатывает www.site.com, требуется запустить rest api на порту 7545, которое должно отвечать по запросу www.api.site.com, если просто открывать порт, то все ок, т.е. api.site.com:7545 отвечает, о хочется уйти от порта в адресе. Внешнего оборудования перед сервером не стоит, линк идет сразу на него.
  • Вопрос задан
  • 305 просмотров
Решения вопроса 1
nops
@nops
Системный инженер.
1. на Apache настраиваешь VirtualHost. Перенастраиваешь Apache с 80 н любой другой порт, например 8080.
2. Устанавливаешь Nginx
3. Настраиваешь виртуалхосты:
server {
listen 80;
server_name www.site.com;
access_log /var/log/nginx/www.site.com.log;
error_log /var/log/nginx/www.site.com_error.log info;
index index.php index.html index.htm;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
}
index index.php index.html;
}
server {
listen 80;
server_name www.api.site.com;
access_log /var/log/nginx/www.api.site.com.log;
error_log /var/log/nginx/www.api.site.com_error.log info;
index index.php index.html index.htm;
location / {
proxy_pass http://127.0.0.1:7545;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
}
index index.php index.html;
}
4. Перезапускаешь апач и nginx и наслаждаешься.
Обрати внимание, в первом виртуалхосте ты прорисуешь запросы к домену www.site.com на локальный апач на порт 8080, во втором виртуалхосте ты прорисуешь запросы к домену www.api.site.com на локальную службу, которая слушает порт 7545.
Nginx вообще очень интересная штуковина в этом плане. Можно так проксировать любой протокол.
Расскажу тебе из опыта. У меня есть парк серверов с различными сервисами раскиданными по инету и ЦОД-ам. Есть самый дешевый VDS, на котором настроен nginx на проксирование запросов к различным хостам и сервисам, это и http, и imap, и pop3, и smtp, и https, и даже ldaps. внутри proxy_pass прописывается на разные хосты, а на тех уже хостах настроен файрвол на получение запросов только от VDS.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы