@hardsign said in Ошибка при применении прокси ipv6:
Да и днс-запрос идет от прокси, не с локального.
Теоретически да, ты прав. А практически - зависит от реализации.
@fluffik said in Браузер, прокси и tcp:
Есть прокси которые ограничиваются потоками на основе tcp соединений и собственно вопрос в том можно ли каким-то магическим способом заставить браузер баса жрать не 15 потоков а 1, как на пост гете?
Нет, можно только по максимуму запретить запросы в браузере. Такие прокси мало подходят для браузера, либо нужно проплачивать большое число доступных потоков.
@fluffik said in Браузер, прокси и tcp:
Есть прокси которые ограничиваются потоками на основе tcp соединений и собственно вопрос в том можно ли каким-то магическим способом заставить браузер баса жрать не 15 потоков а 1, как на пост гете?
Вероятно, можно поставить между прокси-провайдером и BAS, load-balancer, который будет ограничивать кол-во соединений к прокси-провайдеру и ставить в очередь запросы от BAS .
BAS browser -->> haproxy TCP load balancer with limits and queue --> proxy provider
Смотри подробнее https://www.haproxy.com/blog/protect-servers-with-haproxy-connection-limits-and-queues/, по ссылке как раз написано про лимиты и очереди запросов, что ожидают выполнения.
@UserTrue said in Браузер, прокси и tcp:
@sergerdn В итоге скорей всего сайт не загрузится нормально потому что большая часть запросов закончится таймаутом
Не уверен, надо тестировать. Надо подбирать timeout на стороне браузера BAS и haproxy. Уверен, что задача решаема в большинстве случаев.
https://peter.sh/experiments/chromium-command-line-switches/#timeout
@sergerdn said in Браузер, прокси и tcp:
@UserTrue said in Браузер, прокси и tcp:
@sergerdn В итоге скорей всего сайт не загрузится нормально потому что большая часть запросов закончится таймаутом
Не уверен, надо тестировать. Надо подбирать timeout на стороне браузера BAS и haproxy. Уверен, что задача решаема в большинстве случаев.
https://peter.sh/experiments/chromium-command-line-switches/#timeout
Это не тот таймаут. Запрос ресурсов сайта и просто fetch запросы будут крашиться из-за таймаута
@UserTrue said in Браузер, прокси и tcp:
@sergerdn said in Браузер, прокси и tcp:
@UserTrue said in Браузер, прокси и tcp:
@sergerdn В итоге скорей всего сайт не загрузится нормально потому что большая часть запросов закончится таймаутом
Не уверен, надо тестировать. Надо подбирать timeout на стороне браузера BAS и haproxy. Уверен, что задача решаема в большинстве случаев.
https://peter.sh/experiments/chromium-command-line-switches/#timeout
Это не тот таймаут. Запрос ресурсов сайта и просто fetch запросы будут крашиться из-за таймаута
Так напиши "тот" самый timeout. Ты так уверенно пишешь, как будто уже протестировал предложенное мной решение с haproxy. Как писал выше - надо тестировать.
@sergerdn said in Браузер, прокси и tcp:
Так напиши "тот" самый timeout. Ты так уверенно пишешь, как будто уже протестировал предложенное мной решение с haproxy. Как писал выше - надо тестировать.
Я просто прочитал внимательно описание того что ты нашел.
Issues a stop after the specified number of milliseconds. This cancels all navigation and causes the DOMContentLoaded event to fire. ↪
Проще говоря это не увеличит ожидания выполнения запросов.
@UserTrue said in Браузер, прокси и tcp:
@sergerdn said in Браузер, прокси и tcp:
Так напиши "тот" самый timeout. Ты так уверенно пишешь, как будто уже протестировал предложенное мной решение с haproxy. Как писал выше - надо тестировать.
Я просто прочитал внимательно описание того что ты нашел.
Issues a stop after the specified number of milliseconds. This cancels all navigation and causes the DOMContentLoaded event to fire. ↪
Вероятно, я не внимательно прочитал описание конкретно это параметра. Спасибо, что указал мне на это.
Какие твои предложения по увеличение времени ожидания запроса на стороне браузера BAS?
@sergerdn said in Браузер, прокси и tcp:
Вероятно, я не внимательно прочитал описание конкретно это параметра. Спасибо, что указал мне на это.
Какие твои предложения по увеличение времени ожидания запроса на стороне браузера BAS?
У меня их нет ) Я обычно пишу на запросах в таком случае. Еще можно пробросить dns для сайта на свой сервер, а так делал в командой строке есть такая опция, я каждый поток пробрасывал на свой порт и там уже распределял трафик, но это больше про кэширование и подмену данных.
@UserTrue said in Браузер, прокси и tcp:
Еще можно пробросить dns для сайта на свой сервер, а так делал в командой строке есть такая опция, я каждый поток пробрасывал на свой порт и там уже распределял трафик, но это больше про кэширование и подмену данных.
Интересное решение через dns. Я чтобы манипулировать контентом ставил man-in-the-middle прокси между BAS и прокси провайдером.
@sergerdn said in Браузер, прокси и tcp:
@UserTrue said in Браузер, прокси и tcp:
Еще можно пробросить dns для сайта на свой сервер, а так делал в командой строке есть такая опция, я каждый поток пробрасывал на свой порт и там уже распределял трафик, но это больше про кэширование и подмену данных.
Интересное решение через dns. Я чтобы манипулировать контентом ставил man-in-the-middle прокси между BAS и прокси провайдером.
Я прямо из бас в node запустил самописный сервер и на него пробрасывал ))
@sergerdn said in Браузер, прокси и tcp:
@fluffik said in Браузер, прокси и tcp:
Есть прокси которые ограничиваются потоками на основе tcp соединений и собственно вопрос в том можно ли каким-то магическим способом заставить браузер баса жрать не 15 потоков а 1, как на пост гете?
Вероятно, можно поставить между прокси-провайдером и BAS, load-balancer, который будет ограничивать кол-во соединений к прокси-провайдеру и ставить в очередь запросы от BAS .
BAS browser -->> haproxy TCP load balancer with limits and queue --> proxy provider
Смотри подробнее https://www.haproxy.com/blog/protect-servers-with-haproxy-connection-limits-and-queues/, по ссылке как раз написано про лимиты и очереди запросов, что ожидают выполнения.
Я протестировал идею. У меня работает, пробовал загружать пачку сайтов в цикле, сходу не словил каких-то ошибок. В том числе тыкал по всем ссылкам на https://www.amazon.com/. На стороне BAS никаких timeouts не настраивал.
Я настроил proxy ip в BAS на свой сервер, на своем сервере поставил haproxy и прикрутил лимит соединений к прокси-провайдеру.
Схема идеи осталась той же:
BAS browser -->> haproxy TCP load balancer with limits and queue --> proxy provider
Статистика соединений:
Config haproxy:
global
log /dev/log local0
log /dev/log local1 notice
chroot /var/lib/haproxy
stats socket /run/haproxy/admin.sock mode 660 level admin expose-fd listeners
stats timeout 30s
user haproxy
group haproxy
daemon
# Default SSL material locations
ca-base /etc/ssl/certs
crt-base /etc/ssl/private
# See: https://ssl-config.mozilla.org/#server=haproxy&server-version=2.0.3&config=intermediate
ssl-default-bind-ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384
ssl-default-bind-ciphersuites TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256
ssl-default-bind-options ssl-min-ver TLSv1.2 no-tls-tickets
defaults
log global
mode http
option httplog
option dontlognull
timeout connect 5000
timeout client 50000
timeout server 50000
errorfile 400 /etc/haproxy/errors/400.http
errorfile 403 /etc/haproxy/errors/403.http
errorfile 408 /etc/haproxy/errors/408.http
errorfile 500 /etc/haproxy/errors/500.http
errorfile 502 /etc/haproxy/errors/502.http
errorfile 503 /etc/haproxy/errors/503.http
errorfile 504 /etc/haproxy/errors/504.http
listen stats
bind :8080
mode http
stats enable
stats hide-version
stats realm Haproxy\ Statistics
stats uri /
stats auth SomeUsername:SomePassword
frontend front_proxy_1
mode tcp
maxconn 20000
bind :22225
default_backend back_proxy_1
backend back_proxy_1
mode tcp
balance leastconn
timeout queue 30s
server s1 zproxy.lum-superproxy.io:22225 maxconn 15
@UserTrue said in Браузер, прокси и tcp:
@sergerdn Ну прикольно, тогда ему надо тестить на конкретном сайте, тут еще зависит от скорости прокси и сайта, есть такие что тонну запросов шлют
Можно в haproxy дополнительно заблокировать запросы к сайтам с аналитикой и подобным, чтобы не нагружать прокси-провайдера. Это тоже может как-то помочь.
@sergerdn а локально это возможно сделать? а что если много проксей, но порты только разные? И можно если не затруднит инструкцию для не программистов?в идеале видео)) куда тыкнуть что вставить))) В басе то я разбираюсь а как приходит код то тут уже не моя консинстенция
@fluffik said in Браузер, прокси и tcp:
@sergerdn а локально это возможно сделать?
Haproxy windows не поддерживает.
@fluffik said in Браузер, прокси и tcp:
@sergerdn а что если много проксей, но порты только разные?
Дописать в конфигурации haproxy нужные порты по образцу. Можно как руками, так и набросать не сложный скрипт для этого, если портов много.
@fluffik said in Браузер, прокси и tcp:
@sergerdn И можно если не затруднит инструкцию для не программистов?в идеале видео)) куда тыкнуть что вставить)))
Думаю, что это можно сделать, но это выходит за рамки бесплатной помощи коллеге на форуме.
@fluffik said in Браузер, прокси и tcp:
@sergerdn В басе то я разбираюсь а как приходит код то тут уже не моя консинстенция
Могу предложить учиться и повышать свой личный уровень как программиста. Есть еще вариант нанять человека, кто сделает эту работу за тебя.
Или ищи другое решение твоей задачи, отличное от моего, который ты сможешь реализовать. Я выше написал решение, как делал бы я, если стояла такая задача. Вероятно, мое решение не единственное существующее.