我有两台服务器,我们称它们为服务器1和服务器2.服务器2上有一个Web应用程序,可以说是显示帖子。此应用程序可在http://www.2.com/showPosts上获得,每个人都可以访问此页面。此应用程序还可以远程添加帖子。为此,您必须转到页面http://www.2.com/addPost并填写表格。
我想要做的是将第二页(/ addPost)的访问限制为只有一台机器,即服务器1,这样只有我可以进入此页面并填写此表单,其他人都可以获得404.如何实现这一目标?
编辑: 谢谢您的回答。我已经基于它们做了一些阅读,现在可以让我的问题更准确一些。我真正需要做的是通过服务器验证客户端,whis是单向ssl身份验证的反义词,您可以通过客户端对服务器进行身份验证。我认为任何一种基于ip的身份验证都太弱了,我需要某种证书。
答案 0 :(得分:1)
您可以在根目录中使用.htaccess
文件:
<Directory AddPost>Allow from www.1.com</Directory>
这只允许www.1.com
访问该页面。如果AddPost
是文件,请使用<Files AddPost></Files>
。
希望这有帮助!
答案 1 :(得分:0)
使用仅在一台计算机上的浏览器中提供的证书保护您的 http://www.2.com/addPost 。
答案 2 :(得分:0)
ServletRequest#getRemoteAddr()
返回发送请求的客户端的IP。您可以通过匹配客户端的IP来过滤此类请求。对于其他客户,您可以例如重定向到预定义的404 error
页面。
答案 3 :(得分:0)
您还可以将addPost地址限制为localhost-only,并建立ssh隧道以进行更新。
答案 4 :(得分:0)
我想您正在使用Apache Web Server,然后您可以配置虚拟主机并设置访问规则以拒绝所有,允许来自server1。这里是documentation。
答案 5 :(得分:0)
如果是Tomcat服务器,您可以在web.xml中定义一个过滤器,该过滤器仅过滤来自允许来源的请求。