BG Development


  Reply to this topicStart new topicStart Poll

> Пренасочване на заявка, http
liolioasd
Публикувано на: 28-07-2022, 18:51
Quote Post



Име:
Група: Потребител
Ранг: Посетител

Мнения: 60
Регистриран на: 25.12.10



Здравейте, искам да прихвана заявка към сайт (примерно example.com) и да я пренасоча към виртуална машина.
За сега се опитвам да прихвана заявката и да отворя локален файл, защото е по-лесно за тестване.

Пробвах с nginx, но там слуша на локално ИП

CODE
http {
      ...
      server {
              listen 80;
              server_name .example.com;
              location / {
                      root /data/www;
              }
      }
}


със заявка към: http://127.0.0.1/index.html
и хедър:
Host: example.com
ми отваря индекс файла от /data/www/index.html

в случая искам да работи така и като напиша: http://example.com/index.html

Ако nginx не е опция, с какво друго мога да опитам?
PMEmail Poster
Top
wqw
Публикувано на: 28-07-2022, 21:01
Quote Post


Group Icon
Име: Владимир Висулчев
Група: VIP
Ранг: Почетен член

Мнения: 6329
Регистриран на: 10.06.04



QUOTE
Ако nginx не е опция, с какво друго мога да опитам?

Пробвай с четене на тема как работи интернет, после с мислене на тема какви неща съм надробил и накрая ако нищо не работи сложи в hosts файла едно example.com 127.0.0.1 за да тестваш през nginx-а.

cheers,
</wqw>


--------------------
PMEmail PosterUsers Website
Top
thrawn
Публикувано на: 30-07-2022, 17:27
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 3387
Регистриран на: 17.01.17



Струва ми се, че въпросът касае не конкретния домейн, който е ползван за пример във въпроса, а по скоро, как се пренасочва трафик от host OS към guest OS. Но за да се отговори, трябва да се каже каква виртуална машина се ползва.
PMEmail Poster
Top
liolioasd
Публикувано на: 02-08-2022, 00:44
Quote Post



Име:
Група: Потребител
Ранг: Посетител

Мнения: 60
Регистриран на: 25.12.10



CODE
/etc/hosts:
127.0.0.3       banana.example.com

/etc/nginx/nginx.conf
...

      server {
            listen 127.0.0.3:80;
            location / {
                  proxy_pass http://192.168.68.136/;
            }
      }


Когато вместо proxy_pass имам root директива да ми зарежда локален index.html колкото за тест работи.
Идеята е като напиша в Host OS в браузъра banana.example.com, заявката да се обработи от Guest OS (VM-a),
т.е минава през nginx, отива в Guest OS, DNS resolving-a става там и ми връща отговор

Host OS -> IP -> Guest OS
Това до сега съм го правил с ИП адреси (т.е. вместо banana.example.com имам ИП адрес), като за целта имам:
Host OS:
- ip forwarding enabled
- ip route add <website IP> via <VM IP>
Guest OS (Bridged Adapter):
- ip forwarding enabled
- iptables правила

Сега се опитвам да направя същото, но вместо IP да имам домейн
Host OS -> domain -> Guest OS

Предполагам че iptables правилата не ми вършат работа в този случай?
В Guest OS, гледам (поне така си мисля) че заявката отива до виртуалната машина
в tcpdump:
01:01:46.933838 ARP, Request who-has 192.168.68.136 tell 192.168.68.69, length 46

Където 192.168.68.69 ми е Host IP.

Някакви насоки? (ползвам VirtualBox)
PMEmail Poster
Top
thrawn
Публикувано на: 02-08-2022, 08:14
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 3387
Регистриран на: 17.01.17



Е добре де, когато използваш root директива, nginx работи като обикновен сървър а не като прокси. Как си представяш, че сървър работещ на една машина ще сервира съдържание от друга?
За да стане това, трябва да имаш споделен ресурс между двете машини (дискове някакви). Като цяло в тая постановка няма особен смисъл, освен ако не гониш някаква специфична топология.

За да има смисъл в постановката, инстанцията на nginx се пуска в guest-а, а host-а се конфигурира да рутира пакетите (по ip-адрес и порт евентуално) към него само чрез iptables. Така host-а играе ролята на прост маршрутизатор.

Друг вариант е да конфигурираш nginx в host-а, но в режим прокси. От тук вече можеш да препратиш заявката до друга инсанция на nginx, работеща в guest-а като използваш правила базирани на url адреси (и евентуално да предвидиш статичен fallback ресурс който да сервираш при отпадане на сървър).
PMEmail Poster
Top
1 потребители преглеждат тази тема в момента (1 гости, 0 анонимни потребители)
Потребители, преглеждащи темата в момента:

Topic Options Reply to this topicStart new topicStart Poll

 


Copyright © 2003-2019 | BG Development | All Rights Reserved
RSS 2.0