我有一个运行 SSL 证书验证的 Web 应用程序服务器。使用 java keygen 工具生成私钥和公钥。
现在有没有办法将公钥限制为一个 IP 地址?我尝试谷歌搜索解决方案,但很多论坛建议使用IPSec
或.htaccess
编辑server.xml
我不是 Windows 用户,所以无法使用 IPSec,我无法编辑 .htaccess,因为同一台服务器上还有其他应用程序在运行,所以它们都会继承 IP 块。我不想编辑 server.xml,想找到另一种解决方案,例如restricting public key to one IP
我也愿意接受任何其他解决方案。
我将非常感激任何帮助,因为我目前因为这个要求而被封锁。
PS 我正在 Tomcat 服务器上部署我的应用程序。
答案1
设置远程地址过滤器在您的应用程序中web.xml
限制对某些(特定范围的) IP 地址的访问。
仅允许本地主机:
<filter>
<filter-name>Remote Address Filter</filter-name>
<filter-class>org.apache.catalina.filters.RemoteAddrFilter</filter-class>
<init-param>
<param-name>allow</param-name>
<param-value>127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Remote Address Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>