有一台机器仅对外开放80端口,可使用mod_proxy_connect代理访问其22端口;但是这样一来它就变成任意服务器的ssh服务代理了,这样很不安全。是否有办法限制它?我在官方文档里面貌似没有找到。
我自己修改代码实现了-。- 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)); }
我自己修改代码实现了-。-
apache2.2/modules/proxy/mod_proxy_connect.c +123