Я установил веб-сервер Apache с MySQL и PHP, но не могу получить доступ к веб-сайту извне, /var/www/html
используя свой публичный IP-адрес.
Я выполнил переадресацию портов на своем маршрутизаторе для устройства, на котором размещен веб-сайт, но при вводе URL-адреса http://<public IP address>:8080
получаю сообщение о том, что страница не найдена.
Однако если я использую url «localhost», я могу увидеть веб-сайт. Что еще мне нужно проверить, так как очевидно, что что-то было упущено в моей настройке.
решение1
Я бы посоветовал вам использовать инструмент Uncomplicated Firewall -ufw
, в этом состоянии. Легко использовать переднюю частьiptables
. Его версия с графическим интерфейсом называетсяgufw
.
1.Установите приложение:
sudo apt install ufw
2.Настройте политику по умолчанию, чтобы запретить весь входящий трафик и разрешить весь исходящий:
sudo ufw default deny incoming
sudo ufw default allow outgoing
3.Разрешить входящий трафик на определенных портах. Например, если ваш сервер Apache слушает порт, 80
используйте это правило:
sudo ufw разрешить 80/tcp
Или вы можете использовать профиль приложения Apache:
sudo ufw allow Apache
Возможно, вы захотите разрешить доступ также к порту SSH. Для этого случаяпределлучшее правило:
sudo ufw allow 22
Или используйте значение по умолчаниюпрофиль приложениядля SSH:
sudo ufw allow ssh
4.Включите брандмауэр:
sudo ufw enable
Использованная литература:
решение2
sudo ufw status verbose
покажет вам, активен ли/включен ли брандмауэр и разрешены ли/заблокированы ли какие-либо порты.
Если вы перенаправили порт 8080 на маршрутизаторе, убедитесь, что он разрешен через брандмауэр, а также убедитесь, что Apache прослушивает порт 8080
. По умолчанию в /etc/apache2/ports.conf
файлах sites-available
.conf используется порт 80
.