Ну, судя по этому, у вас помимо apache2 стоит еще и nginx.
И так как 80 порт слушает именно nginx, то он и отдает страницу по запросам
http://51.15.48.189 и
http://51.15.48.189:80. И это никак не означает, что apache работает. А
http://51.15.48.189:443 выдает ошибку, потому что у вас этот порт закрыт. И как вам уже намекнули, 443 порт используется для https и требует ssl сертификата. Соответственно вместо
http://51.15.48.189:443 нужно
https://51.15.48.189 + хотя бы самоподписанный сертификат. Т.к. тот же nginx не принимает запрос http на 443 порт.
А по вашему вопросу - апач у вас работает и слушает порты 8080, 8081, 8443.
По-хорошему, вам нужно сделать конфиг для nginx, в котором слушать 80 порт и перенаправлять на 8080 апача. А сам апач повесить на локалхост, а не выставлять наружу (конкретно мое мнение, как бы я сделал). Ну и с 443 портом по аналогии.
Как именно это сделать - не подскажу, т.к. сам строю все связи внутри сервера на сокетах, а не на портах. Да и с apache никогда не использовал. В любом случае, у apache и nginx очень хорошие доки, все разжевано и все мыслимые варианты использования давно расписаны.
UPD. ufw не дает разрешение для конкретного приложения.
sudo ufw allow in "Apache Full"
не гарантирует то, что фаерволл откроет все порты для апача. Это сделано просто для упрощения. Он просто разрешил соединения по стандартным портам для веб-севера. И в вашем случае, как я и говорил, 443 порт не используется вовсе, 80 порт слушает nginx. А те порты, которые слушает apache в вашем случае (8080, 8081, 8443) - закрыты фаерволлом.
Лучше явно задавать, какие порты нужноразрешить, к примеру:
ufw allow 80/tcp