您好,匿名用户
随意问技术百科期待您的加入

Apache:如何限制mod_proxy_connect可代理的HOST(不是访问者,而是目标服务器)?

0 投票

有一台机器仅对外开放80端口,可使用mod_proxy_connect代理访问其22端口;但是这样一来它就变成任意服务器的ssh服务代理了,这样很不安全。是否有办法限制它?我在官方文档里面貌似没有找到。

用户头像 提问 2012年 12月1日 @ Shen 上等兵 (318 威望)
分享到:

1个回答

0 投票
 
最佳答案

我自己修改代码实现了-。-
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));
}
用户头像 回复 2012年 12月1日 @ Evelynn 上等兵 (244 威望)
选中 2012年 12月1日 @Shen
提一个问题:

相关问题

0 投票
1 回复 35 阅读
用户头像 提问 2013年 12月11日 @ 匿名用户
0 投票
1 回复 31 阅读
+2 投票
1 回复 53 阅读
0 投票
1 回复 35 阅读
0 投票
1 回复 43 阅读

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...