Я открыл свою машину разработчика другому разработчику. Для дополнительной безопасности я пытаюсь включить переадресацию портов на мой локальный веб-сервер Apache 2.4. НО он не подключается ни к чему, кроме порта 80. Я следовал различным инструкциям, приведенным, например:например
Итак, я установил локальный порт в моем маршрутизаторе на 5070 (это может быть что угодно, только не 80) и "диапазон портов" на 80 с использованием TCP, поскольку они приходят из браузера. Затем я изменяю оба файла ports.conf (Listen 5070) и mysite.conf ( <VirtualHost *:5070>
) этих файлов выше, чтобы оба читали 5070. Мой файл hosts по-прежнему читает локальный хост как 127.0.0.1
Я перезапускаю Apache, но он просто отказывается подключаться к моему приложению. Если я верну все на порт 80, все заработает. Кажется, имеет значение, выключен брандмауэр или включен.
Единственное, что действительно странно, так это то, что когда я делаю netstat -tulpn
это, я получаю следующее:tcp6 0 0 :::5079 :::* LISTEN 1702/apache2
Я никогда не оговаривал tcp6.
Есть идеи, что я упускаю?
Большое спасибо !
решение1
Я думаю, что есть небольшое заблуждение. Если вы перенаправляете порт 80 на порт 5070 Apache, вы все равно публично доступны на порту 80, чего вы пытаетесь избежать. Вам нужно перевернуть это и открыть порт 5070 на вашем маршрутизаторе. Вы можете перенаправить этот порт на порт 80 вашего Apache, так как ваш Apache не является напрямую публично доступным.
Поэтому поместите порт 5070 в диапазон портов вашего маршрутизатора. Оставьте ваш Apache на порту 80 и установите 80 как локальный порт в вашем маршрутизаторе. Ваш друг подключается к вам, вводя данные http://your-ip-or-dyndns:5070
в браузере.
Вы можете получить доступ к Apache, как и прежде, с помощью http://localhost
.
Если вы не хотите, чтобы кто-либо обнаружил порт 5070 открытым и получил доступ к вашему Apache, я бы рекомендовал включить аутентификацию.