APACHE2: 如何限制mod_proxy_connect可代理的host(不是访问者)?比如限制为某个IP/IP段。
有一台server对外网仅开放80端口,我使用apache代理来访问其ssh服务器;但是使用mod_proxy_connect的话,就使得这台机器变成任意ssh服务的代理了,这样很不安全。是否有什么配置可以直接限制HOST呢?
1楼(匿名用户)
我自己修改代码实现了-。-
apache2.2/modules/proxy/mod_proxy_connect.c +123
char *allowed_hosts[] = {
"some host name",
"127.0.0.1",
"localhost"
};
int hosts_num = sizeof(allowed_hosts) / sizeof(allowed_hosts[0]);
int k;
for (k = 0; k < hosts_num; k++) {
if (strncmp(uri.hostname, allowed_hosts[k], strlen(allowed_hosts[k])) == 0) {
break;
}
}
if (k == hosts_num) {
return ap_proxyerror(r, HTTP_BAD_GATEWAY,
apr_pstrcat(p, "host not allowed for: ", uri.hostname, NULL));
}