一、
(1)
线上收到一个crlf 注入的漏洞. 同时启用80和443才会暴露,配置如下:
server {
listen 80;
listen 443 ssl;
server_name www.jyall.cn;
access_log /data/log/nginx/www.jyall.cn.access.log ngx_main;
error_log /data/log/nginx/www.jyall.cne.error.log; charset utf-8;
underscores_in_headers on; ssl_certificate ssl/www.jyall.cn-2019-12-13.crt;
ssl_certificate_key ssl/www.jyall.cn-2019-12-13.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
ssl_prefer_server_ciphers on; set $rewrite_status 0; if ($https_status = off) {
set $rewrite_status "${rewrite_status}1";
} if ($scheme = http) {
set $rewrite_status "${rewrite_status}2";
} if ($https = on) {
set $https_status $https;
} if ($rewrite_status = 012) {
rewrite / https://$host$request_uri permanent;
break;
} location / {
allow 0.0.0.0/24;
deny all;
proxy_pass http://www.baidu.com;
} location /test {
default_type application/json;
return 200 '{"status":"success","result_https":$scheme-$server_name$request_uri}';
} }
(2)
rewrite / https://$host$uri permanent; 改成 rewrite / https://$host$request_uri permanent; 就可以解决。