浏览 3.4k
我模仿nginx的HTTP过滤模块,想写一个TCP的过滤模块,想让它在ngx_stream_write_filter_module模块之前执行,但是执行./configure --add-module=以及make/make install之后,编译报错,
报错信息如下图所示,objs/ngx_modules.(.data+0x498): undefined reference to `ngx_stream_filter_module'
collect2: error: ld returned 1 exit status
make[1]: *** [objs/nginx] Error 1
make[1]: Leaving directory `/root/nginx-1.20.1'
make: *** [build] Error 2
[root@localhost nginx-1.20.1]#

按点赞数排序
按时间排序
我尝试修改STREAM_MODULES为STREAM_FILTER_MODULES,仍然不奏效,查看auto/modules脚本中,并没有stream过滤模块
0
回答于2022-10-31 16:30
config文件如下所示,
ngx_addon_name=ngx_stream_filter_module
STREAM_MODULES="$STREAM_MODULES ngx_stream_filter_module"
NGX_ADDON_SRCS="$NGX_ADDON_SRCS $ngx_addon_dir/ngx_stream_filter_module.c"
0
回答于2022-10-31 16:28
你应该有一个默认的服务器来捕捉所有的,你可以返回404或更好地不响应(会节省一些带宽),通过返回444它是nginx特定的HTTP响应,只需关闭连接并返回任何内容
Nginx涉及的业务场景很多,面试官可以问的点太多了,要看他的经验偏向哪块,如果有条件,可以先打听下他做过哪些业务。
我简单总结下,Nginx大概可以问这几个方向:
1、基本配置,比如server_name、location的匹配,rewrite的重定向规则,if有哪些陷井等。
2、反向代理,比如一致性hash算法该怎么配,keepalive请求有什么问题,如果上游挂了,怎么换一台新上游,但不给用户返回错误?
3、缓存类,比如过期缓存怎么配,合并回源怎么弄,cache manager、cache loader工作模式等
4、针对WAF防火墙等应用场景,可以展开了问HTTP协议的知识,比如POST请求的处理,比如tailer头部的处理等。
5、进程维护,包括热加载、热升级、切割日志文件、日志压缩等。
6、静态资源,比如root/alias的区别,比如aio/sendfile的选择等。
7、如果是做C模块开发的团队,会问很多源码、实现层面的问题。
8、如果偏向Openresty的团队,会问很多Lua模块的用法,特别是Lua原生函数与ngx库的使用。
9、TLS/SSL,比如对下游、上游怎么开启TLS,对HTTP、TCP怎么开启,怎么传递域名、IP地址等
并不全面,仅供参考哈
微信公众号
加入微信群