限制只能访问一台机器的网站

时间:2013-01-16 14:44:23

标签: java security https

我有两台服务器,我们称它们为服务器1和服务器2.服务器2上有一个Web应用程序,可以说是显示帖子。此应用程序可在http://www.2.com/showPosts上获得,每个人都可以访问此页面。此应用程序还可以远程添加帖子。为此,您必须转到页面http://www.2.com/addPost并填写表格。

我想要做的是将第二页(/ addPost)的访问限制为只有一台机器,即服务器1,这样只有我可以进入此页面并填写此表单,其他人都可以获得404.如何实现这一目标?

编辑: 谢谢您的回答。我已经基于它们做了一些阅读,现在可以让我的问题更准确一些。我真正需要做的是通过服务器验证客户端,whis是单向ssl身份验证的反义词,您可以通过客户端对服务器进行身份验证。我认为任何一种基于ip的身份验证都太弱了,我需要某种证书。

6 个答案:

答案 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中定义一个过滤器,该过滤器仅过滤来自允许来源的请求。