Привет еще раз StackExchange! Первый пост на Суперпользователя.

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

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

Тью

1 ответ1

4

Прежде всего, вы смешиваете две концепции в одну идею.

  • Переадресация портов 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. Надеюсь, вы сможете адаптировать их, если вам нужно.

Удачи :)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .