Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    2 Внутренних сайта на одном ip

    Scheduled Pinned Locked Moved Russian
    17 Posts 6 Posters 1.7k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • K
      Konstanti @nintendoos
      last edited by

      @nintendoos
      Здр
      Первое , что приходит на ум , это использовать разные порты при установлении соединения (WAN интерфейс)
      Например ,
      mycompany.com:6000 -> 192.168.0.9 ( внутренний номер порта сервера)
      mycompan.net:7000 -> 192.168.15.5 ( внутренний номер порта сервера)

      HAProxy , по-моему, все-таки немного для другого сделан

      1 Reply Last reply Reply Quote 0
      • N
        nintendoos
        last edited by

        Спасибо за ответы. И так и так буду пробовать)
        Про идею на разные порты это хорошо, но в днс провайдера я не смогу указать ip:port)
        А про haproxy, сижу разбираюсь

        K 1 Reply Last reply Reply Quote 0
        • K
          Konstanti @nintendoos
          last edited by Konstanti

          @nintendoos
          А при чем тут DNS провайдера ?
          DNS вернет ip адрес домена и все .
          Тут вопрос решается настройками софта клиента и настройками проброса портов Вашего PFSense.

          Или нужен второй ip адрес на wan интерфейсе . Тогда каждому сайту будет соответствовать свой ip

          1 Reply Last reply Reply Quote 0
          • N
            nintendoos
            last edited by

            У меня один внешний ип адрес.
            Вот скажите мне, как клиент будет попадать на сайт, если он введёт к примеру popa.popa.ru?
            Да на сенсе, я сделаю проброс портов, что если кто то ломиться на 10.10.10.10:7000 он попадёт куда надо) но если мы возьмём доменные адреса, то тут у меня встаёт затык. Он будет попадать на другую страницу. А это не то что мне надо.
            У меня в сети есть веб сервера с pops.ru и tot.ru и Mail.roui.com и не только. По этому и вопрос был.

            K 1 Reply Last reply Reply Quote 0
            • K
              Konstanti @nintendoos
              last edited by Konstanti

              @nintendoos
              Он введет не popa.popa.ru
              а введет в строке браузера
              popa.popa.ru:7000

              в результате браузер будет пытаться установить соединение по адресу
              109.52.56.23 на порту 7000

              1 Reply Last reply Reply Quote 0
              • N
                nintendoos
                last edited by nintendoos

                Как он это будет делать? В ручную вводить?
                Мне нужно что бы просто при открытии pops.pops.ru открывал 192.168.5.4
                И если клиент набирает popa.popa.ru открывал 192.168.14.8

                Про то что вы говорите, я так раньше делал, пока все не объеденили в одну Итить его сеть....

                K 1 Reply Last reply Reply Quote 0
                • K
                  Konstanti @nintendoos
                  last edited by Konstanti

                  @nintendoos
                  Я прекрасно понимаю , что Вам нужно
                  но на этапе установления соединения Вы никак не сможете выяснить , какой домен был введен в адресную строку браузера .
                  Соединение клиента с сервером устанавливается по ip адресу на определенном порту.
                  Если соединение устанавливается с использованием https , то единственная точка, где можно узнать на какой сайт хотел попасть клиент , это анализ пакета ClientHello при TLS рукопожатии (поле SNI) . И все. Но тут для Вас затык , так как до того как пойдет пакет ClientHello , пройдет tcp рукопожатие (те tcp соединение уже будет установлено).

                  В теории, есть гипотеза , как такое можно реализовать ( схема немного "извращенная") , но проще вводить адрес в строке браузера.

                  1 Reply Last reply Reply Quote 0
                  • N
                    nintendoos
                    last edited by nintendoos

                    Я правильно Вас понял, что проще клиенту выдать сайт к примеру popa.popa.ru:7000 и на этом успокоиться?
                    Я сейчас читаю про Haproxy, и там вроде реализуется то что я хочу. Но там затык в ssl, и https - который будет смотреть весь https трафик на Firewall
                    Мне конечно хотелось бы в идеале решить вопрос, что бы когда клиент просто открывал страницу сразу переадресовывался туда куда нужно, либо плюнуть на сенс и поднять все на фряхе по отдельности и уже не мучать ни кого....

                    K 1 Reply Last reply Reply Quote 0
                    • K
                      Konstanti @nintendoos
                      last edited by

                      @nintendoos

                      До того как пойдет ssl и https , будет пройден tcp handshake. Те соединение с каким-то из серверов будет установлено. Речь идет о пакетах 70,71,72.
                      Например ,
                      adcd618b-62d9-4dcc-83a2-4bb353a48e99-image.png

                      Поэтому мое мнение прежнее - каждому сайту свой порт. Самое нормальное и простое решение

                      1 Reply Last reply Reply Quote 0
                      • N
                        nintendoos
                        last edited by

                        Спасибо!
                        Попробую и так и почитаю про Haproxy. Если заработает через Haproxy, отпишусь тут.
                        А нет, сделаю как вы предложили, хотя на данный момент у меня в принципе так и сделано....
                        Но душа хочет красоты.....)

                        1 Reply Last reply Reply Quote 0
                        • P
                          pigbrother
                          last edited by pigbrother

                          А если использовать http/https-переадресацию, указав в целевом URL номер порта (если такое доступно в управлении DNS)
                          Это избавит клиента от необходимости вводить номер порта.

                          Или обслуживать оба (и более) сайта одним HTTP-сервером?
                          У апача это виртуальные хосты
                          https://habr.com/en/sandbox/3533/
                          Если нужен SSL
                          https://losst.ru/nastrojka-virtualnyh-hostov-apache

                          1 Reply Last reply Reply Quote 0
                          • N
                            nintendoos
                            last edited by

                            К сожалению, в управлении DNS (хостинга) это не возможно
                            Может быть и проще тогда поднять за сенсом отдельный http сервер и на нем все делать....
                            Я нашел как один человек реализовал такую связку acme + pfsense
                            https://www.youtube.com/watch?v=gVOEdt-BHDY
                            Сейчас сижу изучаю.

                            1 Reply Last reply Reply Quote 0
                            • R
                              rem1488
                              last edited by rem1488

                              @Konstanti said in 2 Внутренних сайта на одном ip:

                              Сделай нат на обратный прокси nginx. а от туда раскидай на разные web сервера

                              1 Reply Last reply Reply Quote 0
                              • First post
                                Last post
                              Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.