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.
    • S
      Sergey1985
      last edited by Sergey1985

      https://gainanov.pro/eng-blog/linux/installing-haproxy-pfsense/
      https://blog.devita.co/pfsense-to-proxy-traffic-for-websites-using-pfsense/

      1 Reply Last reply Reply Quote 0
      • 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.