У меня такая конфигурация:
Server A: имеет белый IP
Server B: за NAT
Сервера соединены через в сеть WG. Сервер A имеет ip 10.13.13.100, а сервер B имеет ip 10.13.12.1.
Между серверами в сети скорость около 150-250мбит/с (измерено с помощью iperf3 в
обоих направлениях).
На сервере B установлено несколько служб. (nextcloud и т.д., проблема касается
всех служб)
Сервер A принимает запросы на 443 и 80 порту и без какой либо обработки переводит их на сервер B.
Вот такая конфигурация nginx на сервере A:
events {
worker_connections 1024;
}
http {
server {
listen 80;
location / {
proxy_pass http://10.13.13.100:80;
}
}
}
stream {
server {
listen 443;
proxy_pass 10.13.13.100:443;
}
}
Проблема в том что скорость загрузки данных с сервисов всего около 10мбит/с. При этом скорость загрузки НА сервер хорошая, около 150-200мбит/с.
Что пробовал сделать:
- Для теста в настройках dns на компьютере в той же сети где и сервер B указал для домена nextcloud.mydomain.com адрес сервера B в локальной сети. Скорость поднялась до более чем 1гбит/с. При полностью валидном https подключении, таr как за https отвечает сервер B, предоставляет сертификаты, ставит заголовки и т.д.. Что полностью исключает возможность проблемы с сервисами и так же настройками nginx-proxy-manager на сервере B.
- Пробовал для теста настроить доступ по ssh туннелям, а не nginx. Скорость точно такая же как и с nginx, около 10мбит/с.
- Настроил корректный MTU на всех интерфейсах WG везде, искал оптимальный вариант с помощью ping -M do -s X [ip] со всех сторон. В итоге рабочим оказался 1260, но с ним проблема не исчезла, я еще уменьшил до 1200, но все так же.
Потратил на эксперименты несколько дней. Теперь я в полном замешательстве что с этим делать, больше никаких идей не осталось.