Как стать автором
Обновить

Комментарии 7

Современный ISP Manager автоматически после nginx корректно настраивает редирект, сам ставит mod_rpaf после чего остается в файрволле прикрыть 8080 порт извне, чтобы туда лишние не ходили.

Таким образом, в индекс ничего с 8080 порта не попадет и все будет замечательно.
Ну, мы в ноябре прошлого года переезжали на новый сервер, и последняя на тот момент версия isp менеджера настроила именно так, как я написал.

Если с тех пор ситуация изменилась, то это несомненно хорошо, но до ноября прошлого года проблема существовала, и всем, кто пользовался isp manager-ом все это время, стоит на всякий случай проверить доступность своих сайтов по :8080
А надо было, просто в firewall закрыть 8080, и такой бы проблемы не возникало.
Да, 3 года назад.

Но проблема уже возникла, и судя по количеству вопросов в интернете «как сделать редирект с 8080 на 80» — не только у меня одного.

Потерять всех людей, которые могут прийти из того же яндекса по проиндексированным :8080 ссылкам и увидеть «доступ запрещен» или «не могу соединиться с сервером» вместо контента — не хотелось бы, поэтому пришлось искать способ все-таки сделать этот самый редирект
Можно было просто обновить ispmanager, открыть 8080 порт и в /etc/nginx/sites-enabled/sth добавить что-то вроде:
server {
listen 8080 default;
rewrite ^/(.*) $scheme://$host/$1 permanent;
}
server {
       listen  11.22.33.44:8080;
       rewrite ^/(.*)$ http://$host:80/$1 redirect;
}


это правильно писать так:

server {
       listen  11.22.33.44:8080;
       return 302 http://$host:80/$request_uri;
}
iptables -A INPUT -p tcp -m tcp --dport 8080 -j REDIRECT --to-ports 80

Проблема в том, что этот способ не работает — dmesg выдает
ip_tables REDIRECT target: only valid in nat table, not filter.


Это работает вот так:
iptables -t nat -A PREROUTING -p tcp --dport 8080 -j REDIRECT --to-port 80

Только это все равно не ваш вариант, т.к. сайты будут доступны по порту 8080 также, как и по 80.
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.