From tit на irk.ru Tue Oct 5 06:38:09 2021 From: tit на irk.ru (Alexander Titaev) Date: Tue, 5 Oct 2021 14:38:09 +0800 Subject: auth by cert Message-ID: <2710380914.20211005143809@irk.ru> Здравствуйте, Nginx-ru. берем мануал https://docs.nginx.com/nginx/admin-guide/security-controls/securing-http-traffic-upstream/ и строгаем песочницу [root на localhost ~]# cat /etc/nginx/conf.d/test.conf server { listen *:443 ssl; listen *:1443 ssl; server_name test; access_log /var/log/nginx/test_access.log; error_log /var/log/nginx/test_error.log; ssl_certificate /etc/nginx/ssl/test.crt; ssl_certificate_key /etc/nginx/ssl/test.key; ssl_client_certificate /etc/nginx/ssl/ca.crt; ssl_verify_client on; root /var/www; location / { } } [root на localhost ~]# cat /etc/nginx/conf.d/proxy.conf server { listen *:443 ssl; server_name proxy; access_log /var/log/nginx/proxy_access.log; error_log /var/log/nginx/proxy_error.log ; ssl_certificate /etc/nginx/ssl/proxy.crt; ssl_certificate_key /etc/nginx/ssl/proxy.key; root /var/www1; location / { } location /test { rewrite ^/test(.*)$ $1 break; proxy_pass https://test; proxy_set_header Host test; proxy_ssl_certificate /etc/nginx/ssl/client.crt; proxy_ssl_certificate_key /etc/nginx/ssl/client.key; proxy_ssl_trusted_certificate /etc/nginx/ssl/ca.crt; proxy_ssl_verify off; } location /test2 { rewrite ^/test2(.*)$ $1 break; proxy_pass https://test:1443; proxy_set_header Host test; proxy_ssl_certificate /etc/nginx/ssl/client.crt; proxy_ssl_certificate_key /etc/nginx/ssl/client.key; proxy_ssl_trusted_certificate /etc/nginx/ssl/ca.crt; proxy_ssl_verify on; } } тестируем [root на localhost conf.d]# curl --cacer /etc/nginx/ssl/ca.crt --key /etc/nginx/ssl/client.key --cert /etc/nginx/ssl/client.crt --resolve test:443:127.0.0.1 https://test Mon Oct 4 10:37:00 UTC 2021 работает [root на localhost conf.d]# curl --cacer /etc/nginx/ssl/ca.crt --key /etc/nginx/ssl/client.key --cert /etc/nginx/ssl/client.crt --resolve test:1443:127.0.0.1 https://test:1443 Mon Oct 4 10:37:00 UTC 2021 работает [root на localhost conf.d]# curl --cacer /etc/nginx/ssl/ca.crt --resolve proxy:443:127.0.0.1 https://proxy/test2/ Mon Oct 4 10:37:00 UTC 2021 работает [root на localhost conf.d]# curl --cacer /etc/nginx/ssl/ca.crt --resolve proxy:443:127.0.0.1 https://proxy/test/ 400 Bad Request No required SSL certificate was sent nginx/1.20.1 и еще, если сделать proxy_ssl_verify on; [root на localhost ~]# curl --cacer /etc/nginx/ssl/ca.crt --resolve proxy:443:127.0.0.1 https://proxy/test/ 502 Bad Gateway

502 Bad Gateway


nginx/1.20.1
[root на localhost ~]# curl --cacer /etc/nginx/ssl/ca.crt --resolve proxy:443:127.0.0.1 https://proxy/test2/ Mon Oct 4 10:37:00 UTC 2021 [root на localhost ~]# tail -1 /var/log/nginx/proxy_error.log 2021/10/04 17:39:50 [error] 9230#9230: *80 upstream SSL certificate does not match "test" while SSL handshaking to upstream, client: 127.0.0.1, server: proxy, request: "GET /test/ HTTP/1.1", upstream: "https://127.0.0.1:443/", host: "proxy" [root на localhost ~]# tail -2 /var/log/nginx/proxy_access.log 127.0.0.1 - - [04/Oct/2021:17:39:50 +0000] "GET /test/ HTTP/1.1" 502 157 "-" "curl/7.29.0" 127.0.0.1 - - [04/Oct/2021:17:39:54 +0000] "GET /test2/ HTTP/1.1" 200 29 "-" "curl/7.29.0" что я делаю не так? -- С уважением, Alexander mailto:tit на irk.ru From tit на irk.ru Tue Oct 5 06:54:05 2021 From: tit на irk.ru (Alexander Titaev) Date: Tue, 5 Oct 2021 14:54:05 +0800 Subject: auth by cert In-Reply-To: <2710380914.20211005143809@irk.ru> References: <2710380914.20211005143809@irk.ru> Message-ID: <4110446289.20211005145405@irk.ru> Здравствуйте, Alexander. Вы писали 5 октября 2021 г., 14:38:09: > что я делаю не так? разобрался proxy_ssl_server_name on; -- С уважением, Alexander mailto:tit на irk.ru From nginx-forum на forum.nginx.org Sun Oct 31 15:11:25 2021 From: nginx-forum на forum.nginx.org (greenwar) Date: Sun, 31 Oct 2021 11:11:25 -0400 Subject: =?UTF-8?B?Tmdpbngg0Lgg0L/QvtGC0L7QutC4?= Message-ID: как именно Nginx оперирует потоками? пришёл запрос, его Nginx принял в поток, передал в FastCGI, а что дальше? он будет держать поток, пока FastCGI не вернёт ответ, а Nginx его передаст источнику или сам FastCGI передаст ответ источнику? сам FastCGI тоже на каждый запрос выделяет поток... короче, потоки для FastCGI надо урезать в половину или как это работает? Posted at Nginx Forum: https://forum.nginx.org/read.php?21,292726,292726#msg-292726