求助: nginx 无法获取内置变量的值 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yaocf
V2EX    NGINX

求助: nginx 无法获取内置变量的值

  •  
  •   yaocf 2020-03-07 20:29:16 +08:00 2661 次点击
    这是一个创建于 2118 天前的主题,其中的信息可能已经有所发展或是发生改变。

    user root; worker_processes auto; pid /run/nginx.pid; include /etc/nginx/modules-enabled/*.conf; error_log /var/log/nginx/error.log;

    events { worker_connections 1024; multi_accept on; } http { tcp_nodelay on; log_format main '$remote_addr - $remote_user [$time_local] $status ' '"$request" $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for" "$host$request_uri"'; access_log /var/log/nginx/access.log main; server { listen 80; location ~/.well-known* { root /usr/lib/mylibs/acme_tiny; #alias /usr/lib/mylibs/acme_tiny/.well-known/; autoindex on; } location ~/* { rewrite ^(.*) https://$host$request_uri break; #return 301 https://$host$request_uri; } } }

    环境:Ubuntu 18.04 (谷歌云主机,minimize 版的系统,没有图形界面) 直接用 apt install nginx 安装的。

    以上是配置文件。 需求:.well-known 开头的路径依旧使用 http,其余的全部跳转到 https (如果请求包含路径的话,包括路径也得带到 https 链接中)。另外,不想用代理的方式进行转发。只想用重定向完成。 https 服务是另外的一个软件提供的(可以正常访问,并且证书有效)。

    目前的问题$host、$request_uri 之类的,都获取不到包括日志,所有的变量都是空的(不加自定义日志格式的话,是正常有日志的)。

    各种论坛之类的都搜过了,未找到答案。先谢谢各位了。

    4 条回复    2020-03-21 06:46:06 +08:00
    yaocf
        1
    yaocf  
    OP
       2020-03-07 20:29:58 +08:00
    user root;
    worker_processes auto;
    pid /run/nginx.pid;
    include /etc/nginx/modules-enabled/*.conf;
    error_log /var/log/nginx/error.log;

    events {
    worker_connections 1024;
    multi_accept on;
    }
    http {
    tcp_nodelay on;
    log_format main '$remote_addr - $remote_user [$time_local] $status '
    '"$request" $body_bytes_sent "$http_referer" '
    '"$http_user_agent" "$http_x_forwarded_for" "$host$request_uri"';
    access_log /var/log/nginx/access.log main;
    server {
    listen 80;
    location ~/\.well-known* {
    root /usr/lib/mylibs/acme_tiny;
    #alias /usr/lib/mylibs/acme_tiny/.well-known/;
    autoindex on;
    }
    location ~/* {
    rewrite ^(.*) https://$host$request_uri break;
    #return 301 https://$host$request_uri;
    }
    }
    }
    crystom
        2
    crystom  
       2020-03-08 22:02:11 +08:00
    看下是否支持 debug 模式,开 debug 看下日志,另外默认的是 combined,可以在基础上修改
    yaocf
        3
    yaocf  
    OP
       2020-03-20 21:45:09 +08:00
    @crystom 恩,谢谢,好不容易编译出了带调试模式的 nginx,看了下调试日志,问题找到了。配置文件中所有的 $ 换成 \$ 就行了。不知道为什么要转义一下才能用。按理说 nginx 的配置文件读取模块应该会考虑到这个吧。

    新的配置文件如下,也希望可以帮到有同样问题的小伙伴。

    user root;
    worker_processes auto;
    pid /run/nginx.pid;
    include /etc/nginx/modules-enabled/*.conf;
    error_log /var/log/nginx/error.log;

    events {
    worker_connections 1024;
    multi_accept on;
    }
    http {
    tcp_nodelay on;
    log_format main '\$remote_addr - \$remote_user [\$time_local] \$status '
    '"\$request" \$body_bytes_sent "\$http_referer" '
    '"\$http_user_agent" "\$http_x_forwarded_for" "\$host\$request_uri"';
    access_log /var/log/nginx/access.log main;
    server {
    listen 80;
    location ~/\.well-known* {
    #root /usr/lib/mylibs/acme_tiny;
    alias /usr/lib/mylibs/acme_tiny/.well-known/;
    autoindex on;
    }
    location ~/* {
    rewrite ^(.*) https://\$host\$request_uri break;
    }
    }
    }
    yaocf
        4
    yaocf  
    OP
       2020-03-21 06:46:06 +08:00
    @yaocf
    可能是使用 cat <<EOF EOF 写入配置文件的原因,纠正一下,不需要加\。原先的配置文件应该是正确的。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1934 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 37ms UTC 16:13 PVG 00:13 LAX 08:13 JFK 11:13
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86