Apache Traffic Server转发代理基本身份验证

时间:2015-07-15 17:11:30

标签: authentication proxy centos6 forward apache-traffic-server

我正在尝试使用CentOS 6上的 Apache Traffic Server (ATS)设置具有基本代理身份验证的转发代理服务器。我已经成功部署了 SQUID Apache httpd mod_proxy 使用基本代理身份验证的转发代理,并希望对ATS执行相同的操作以比较性能。

我正在尝试使用ATS提供的 basic-auth 插件示例,但存在多个问题。

我为CentOS 6添加了最新的epel repo,并安装了trafficserver和trafficserver-devel(需要使用ATS编译器, tsxs )软件包。我将basic-auth.c文件从source复制到我的用户目录并尝试编译:

# tsxs -v -o /root/basic-auth.so -c /root/basic-auth.c

因此,我找不到未找到的文件的错误 - ts/ink_defs.h

这个文件是通过在源代码上运行autoconfig -ifconfigure生成的 - 所以我继续并克隆了trafficserver git repo并运行了步骤,在{{1}中生成了几百个文件}}。我将这些复制到了 tsxs 所关注的目录 - /opt/ts/(这是因为它是使用 trafficserver-devel 安装时的默认位置(当我以前只有从源安装了流量服务器, tsxs 才会运行。

现在文件就位了,我在basic-auth.cc上再次运行了编译器。这次我在/usr/include/ts/收到错误,因为有一个sdk_version参数:

ts.h

我调查了# tsxs -v -o basic-auth.so basic-auth.c compiling basic-auth.c -> basic-auth.lo cc -I/usr/include -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -feliminate-unused-debug-symbols -fno-strict-aliasing -mcx16 -fpic -c basic-auth.c -o basic-auth.lo In file included from basic-auth.c:30: /usr/include/ts/ts.h:158: error: expected ‘)’ before ‘sdk_version’ In file included from /usr/include/ts/ink_defs.h:28, from basic-auth.c:31: /usr/include/ts/ink_config.h:41:26: error: ink_autoconf.h: No such file or directory basic-auth.c: In function ‘TSPluginInit’: basic-auth.c:222: warning: implicit declaration of function ‘TSPluginRegister’ tsxs: compilation failed: cc -I/usr/include -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -feliminate-unused-debug-symbols -fno-strict-aliasing -mcx16 -fpic -c basic-auth.c -o basic-auth.lo 的代码,并将其与the latest source进行了比较。您可以看到第156行发生了变化:

trafficserver-devel的:

ts.h

源:

tsapi TSReturnCode TSPluginRegister(TSSDKVersion sdk_version, TSPluginRegistrationInfo plugin_info);

因此我假设版本控制存在一些问题。我用最新的源替换了我的ts.h版本并再次尝试编译:它可以工作!

我将.so文件复制到plugins目录并相应地修改plugins.config和records.config。唉,当我尝试启动trafficserver时,它会因为分段错误而失败:

tsapi TSReturnCode TSPluginRegister(TSPluginRegistrationInfo *plugin_info);

我尝试使用gdb来获得更好的调试日志,但我没有看到任何有用的东西。还有一个提到# /usr/bin/traffic_server traffic_server: using root directory '/usr' [Jul 15 16:19:21.224] Server {0x7fd9458ba7e0} DEBUG: (dns) ink_dns_init: called with init_called = 0 [Jul 15 16:19:21.227] Server {0x7fd9458ba7e0} DEBUG: (dns) localhost=vmProxy1 [Jul 15 16:19:21.227] Server {0x7fd9458ba7e0} DEBUG: (dns) Round-robin nameservers = 1 traffic_server: Segmentation fault (Signal sent by the kernel [(nil)])traffic_server - STACK TRACE: /usr/bin/traffic_server(_Z19crash_logger_invokeiP7siginfoPv+0x99)[0x4a5209] /lib64/libpthread.so.0[0x35b600f710] /lib64/libc.so.6[0x35b5d3362f] /usr/lib64/trafficserver/libtsutil.so.5(_xstrdup+0x6d)[0x7fd945f2b6cd] /usr/bin/traffic_server(TSPluginRegister+0x7c)[0x4bcb6c] /usr/lib64/trafficserver/plugins/basic-auth.so(TSPluginInit+0x2f)[0x7fd942334e1f] /usr/bin/traffic_server(_Z11plugin_initb+0x322)[0x4dab22] /usr/bin/traffic_server(main+0x1424)[0x4d2754] /lib64/libc.so.6(__libc_start_main+0xfd)[0x35b5c1ed5d] /usr/bin/traffic_server[0x4942a9] Segmentation fault (core dumped) - 但我开始认为跳过文件并替换它们并不是它的工作方式......

sdk_version

非常感谢任何有关我可能做错的提示或提示。

0 个答案:

没有答案