1、写shell脚本时:当我用数字开头作为变量时(172file=***),报错。
解决:变量名必须以字母或下划线字符开头。其余的字符可以是字母、数字(0~9)或下划线字符。
因为把变量改为:file172=***。
2、curl 请求nignx 后端代码时,发现传的header头,后端代码接收不到:
curl:www.xxx.com -H "interface_type:23333"
解决:
HTTP头是可以包含英文字母([A-Za-z])、数字([0-9])、连接号(-)hyphens, 也可义是下划线(_)。在使用nginx的时候应该避免使用包含下划线的HTTP头。
原因:
服务器之所以要默认禁止使用是因为 CGI 历史遗留问题。
下划线和中划线都为会被映射为 CGI 系统变量中名中的下划线,这样容易引起混淆
。
在 nginx 服务器中,通过显式地设置 underscores_in_headers on 可以开启在字段名中使用下划线。默认该选项是关闭的,所以在默认情况下,所有包含下划线的字段名都会被丢弃。