SNI(服务器名称指示)的RESTful,面向Web的服务

时间:2016-11-29 09:24:48

标签: apache rest spring-mvc ssl ssl-certificate

我有一个Spring MVC应用程序,它通过HTTP POST方法从另一个应用程序接收URL CallBack,它也将发送SNI((服务器名称指示)用于SSL / TLS连接),所以我必须实现RESTful面向Web我的Spring应用程序中的服务。 因为我总是从同一台服务器收到URL CallBack,我想拒绝来自其他服务器的所有请求。哪里更好,检查一下服务器名称?在Spring MVC应用程序的级别中,还是有一种方法可以配置Apache Web Server?

我有一个接受POST请求的@Controller端点,就像这样 http://myserver/MyApp/api/registerUser?userId=E506&lat=41&lng=7&rssi=-127&data=3428102231

但是这个请求总是来自服务器111.222.333.444,所以我只想接受来自该服务器的请求而不是其他任何人(让他们说潜在的黑客)

1 个答案:

答案 0 :(得分:0)

如果您的Spring应用程序位于apache Web服务器后面,充当gateway (a.k.a. reverse proxy),您可以使用以下apache配置来限制访问:

<Location "/url/of/the/webservice">
    Require ip 111.222.333.444
</Location>

来自文档:

  

<Location>指令通过URL限制所附指令的范围。

     

Require指令测试是否根据特定授权提供商和指定的限制授权经过身份验证的用户。