Пересылка:на localhost:80/dir/ (apache)

Пересылка:на localhost:80/dir/ (apache)

Приветствую снова StackExchange! Первый пост на Superuser.

Я установил Apache и PHP на свой компьютер, и все работает отлично, когда я ввожу "localhost" на своем компьютере. Но я хочу, чтобы когда кто-то вводит, http://<my ip>:<random port number that isn't used>я хотел, чтобы он перенаправлялся на http://localhost/internet/. Как мне сделать это с переадресацией портов? И что мне нужно настроить в Apache?

Я знаю, что это может быть вопрос №87465094 о переадресации портов, но я не видел никаких решений моей проблемы ни здесь, на Superuser, ни в остальном Интернете.

Тью

решение1

Во-первых, вы смешиваете две концепции в одну идею.

  • Переадресация портов TCP/IP
  • HTTP-перенаправление

Вы можете достичь желаемого, объединив эти два понятия, но это отдельные концепции.

HTTP-перенаправление

Итак, давайте пока проигнорируем переадресацию портов. Давайте сначала настроим часть перенаправления.

$ sudo editor /etc/apache2/sites-available/thews_site

Это создает новый файл конфигурации для новогосайтКонфигурация в Apache. В ней мы можем разместить всю конфигурацию для нашего сайта.

Наш виртуальный хост

Давайте определим ваш новый сайт Apache:

NameVirtualHost *:12345
<VirtualHost *:12345>
        Redirect / http://www.superuser.com
</VirtualHost>

Это создает новый сайт, доступ к которому можно получить с любого локального IP-адреса, нотольков порту 12345.

Само определение сайта довольно короткое. Оно имеет только 1 запись конфигурации. Перенаправление на целевой сайт.

Конфигурация порта Apache

Нам также нужно указать Apache прослушивать наш новый порт!

$ sudo echo "Listen 12345" >> /etc/apache2/ports.conf

Это добавит строку Listen 12345в конец /etc/apache2/ports.conf. Либо вы можете добавить ее самостоятельно с помощью текстового редактора.

Теперь давайте включим сайт

$ sudo a2ensite thews_site
$ sudo invoke-rc.d apache2 restart

Это установит наш ранее определенный сайт каквключено. Вторая команда перезапустит Apache.

Тестирование

Если вы http://localhost:12345сейчас войдете в свой браузер, вы будете перенаправлены на superuser.com!

Перенаправление порта

Теперь вы можете настроитьПеренаправление порта. Вы бы сделали это на своем маршрутизаторе. Скажите маршрутизатору перенаправить ваш публичный порт 33333на ваш локальный порт 12345.

Теперь, если кто-то захочет перейти наyour-public-ip:33333 ониперенаправиться на superuser.com.

Все эти примеры были для сред на базе Debian. Надеюсь, вы сможете адаптировать их, если вам это понадобится.

Удачи :)

Связанный контент