Добрый день.
Подскажите пожалуйста, есть софт, в докере поднятый.
Работает только с location / {
proxy_pass http://127.0.0.1:3333;
...
}
Хочу сделать чтобы открывался location /soft {
proxy_pass http://127.0.0.1:3333;
...
}
Но с последним выдаёт, что не может найти скрипты и прочее.
Я так понимаю он посылает заголовок, который непонятен софту.
Что необходимо сделать, куда копнуть, подскажите пожалуйста.
Posted at Nginx Forum: https://forum.nginx.org/read.php?21,294617,294617#msg-294617
Дано:
nginx 1.23 (сборка под bullseye с nginx.org), openssl 1.1.1n (из debian)
два сертификата от LE, RSA и P-256.
testssl.sh
Нужно сделать, чтобы старые клиенты, умеющие только TLSc1/RSA, могли
подключаться.
Запускаем testssl.sh, TLSv1 и 1.1 не работают (только 1.2):
SSLv2 not offered (OK)
SSLv3 not offered (OK)
TLS 1 offered (deprecated)
TLS 1.1 offered (deprecated)
TLS 1.2 offered (OK)
TLS 1.3 not offered and downgraded to a weaker protocol
Убираем один из сертификатов — TLSv1 появляется, с двумя — только 1.2
Идём, например, на
https://ssl-config.mozilla.org/#server=nginx&version=1.23&config=old&openss…
прописываем ssl_ciphers оттуда.
Не помогает.
Добавляем в конец списка шифров :@SECLEVEL=0
TLSv1 начинает работать.
Решил редуцировать пример, дошёл до такого:
a. ssl_ciphers AES128-SHA;
TLSv1 работает
b. ssl_ciphers AES128-SHA:ECDHE-ECDSA-AES128-SHA;
TLSv1 работает
c. ssl_ciphers ECDHE-ECDSA-AES128-SHA:AES128-SHA;
TLSv1 НЕ работает
d. ssl_ciphers ECDHE-ECDSA-AES128-SHA256:AES128-SHA;
TLSv1 работает
e. ssl_ciphers ECDHE-ECDSA-AES128-SHA:AES128-SHA:@SECLEVEL=0;
TLSv1 работает
:@SECLEVEL=0 прописать недолго, тем более, что, если я ничего не путаю, с
переходом на openssl3 так и так придётся это делать; но неконсистентность
поведения удивила.
это вообще баг или фича? )
за десять минут просмотра кода нжинкса возникло ощущение, что дело не в нём,
а так срабатывают какие-то эвристики в openssl.
код openssl пока не смотрел.
Posted at Nginx Forum: https://forum.nginx.org/read.php?21,294596,294596#msg-294596
Изменения в nginx 1.23.0 21.06.2022
*) Изменение во внутреннем API: теперь строки заголовков представлены
связными списками.
*) Изменение: теперь nginx объединяет произвольные строки заголовков с
одинаковыми именами при отправке на FastCGI-, SCGI- и uwsgi-бэкенды,
в методе $r->header_in() модуля ngx_http_perl_module, и при доступе
через переменные "$http_...", "$sent_http_...", "$sent_trailer_...",
"$upstream_http_..." и "$upstream_trailer_...".
*) Исправление: если в заголовке ответа бэкенда было несколько строк
"Vary", при кэшировании nginx учитывал только последнюю из них.
*) Исправление: если в заголовке ответа бэкенда было несколько строк
"WWW-Authenticate" и использовался перехват ошибок с кодом 401 от
бэкенда или директива auth_request, nginx пересылал клиенту только
первую из этих строк.
*) Изменение: уровень логгирования ошибок SSL "application data after
close notify" понижен с уровня crit до info.
*) Исправление: соединения могли зависать, если nginx был собран на
Linux 2.6.17 и новее, а использовался на системах без поддержки
EPOLLRDHUP, в частности, на системах с эмуляцией epoll; ошибка
появилась в 1.17.5.
Спасибо Marcus Ball.
*) Исправление: nginx не кэшировал ответ, если строка заголовка ответа
"Expires" запрещала кэширование, а последующая строка заголовка
"Cache-Control" разрешала кэширование.
--
Maxim Dounin
http://nginx.org/
Здравствуйте, All!
В документации к nginx встречается
упоминание про директиву memcached_force_ranges
https://nginx.org/en/docs/http/ngx_http_memcached_module.html#memcached_for…
Однако, в исходниках nginx нет директивы memcached_force_ranges
- похоже на то, что директиву из исходников nginx удалили,
а документацию и файл CHANGES обновить забыли?
nginx/src/http/modules/ngx_http_memcached_module.c
/* the hardcoded values */
conf->upstream.force_ranges = 1;
--
Best regards,
Gena
Привет.
Че-то я туплю. Пересмотрел конфиги и документацию не один раз, но ошибку не
вижу.
Есть основной сайт, который должен открываться только по адресу
httpS://site.ru, но при этом по адресу http://beta.site.ru должна работать
так сказать тестовая версия сайта без шифрования.
Суть проблемы – почему-то при заходе по адресу httpS://beta.site.ru
открывается основная версия сайта. Почему - понять не могу. По адресу
http://beta.site.ru – все ок.
Конфиг:
# по умолчанию
server
{
listen 80 default_server;
server_name 1.2.3.4;
allow 127.0.0.1;
deny all;
}
# версия для тестов
server
{
listen 80;
server_name beta.site.ru ;
…
}
# редирект с http на https
server
{
listen 80;
server_name site.ru;
access_log off;
return 301 https://site.ru$request_uri;
}
# редирект с www на non-www
server
{
listen 443 ssl;
# ssl_certificate domain.crt;
# ssl_certificate_key domain-key.txt;
server_name www.site.ru;
access_log off;
rewrite ^(.*)$ https://site.ru$1 permanent;
}
# основная версия сайта
server
{
listen 443 ssl http2;
server_name site.ru ;
…
}
Posted at Nginx Forum: https://forum.nginx.org/read.php?21,294517,294517#msg-294517
Здравствуйте.
Протестировал последнюю ревизию nginxQuic 5b1011b5702b.
Проблема с долгим ответом от сервера всё ещё сохранилась.
От клиента приходит запрос, через tcpdump видно что запрос доходит до сервера nginx (в debug логе отображается событие), но
по какой-то причине, nginx отдаёт ответ только через 5-7 секунд. В конечном итоге происходят задержки в работе сайта и бразуер переключается
на работу по http2 протоколу.
--
С уважением,
Izorkin mailto:izorkin@gmail.com