1

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

我想做的是将第二个页面(/addPost)的访问限制在一台机器上,即服务器1,这样只有我可以进入这个页面并填写这个表格,其他人都会得到404。如何做到这一点?

编辑:谢谢你的回答。我已经根据它们进行了更多阅读,现在可以使我的问题更加精确。我真正需要做的是通过服务器对客户端进行身份验证,这与单向 ssl 身份验证相反,您可以通过客户端对服务器进行身份验证。我认为任何基于 ip 的身份验证都太弱了,我需要某种证书。

4

6 回答 6

1

您可以使用.htaccess根目录中的文件:

<Directory AddPost>Allow from www.1.com</Directory>

这只允许www.1.com访问页面。如果AddPost是文件,请使用<Files AddPost></Files>.

希望这可以帮助!

于 2013-01-16T15:05:24.783 回答
0

如果它是 Tomcat 服务器,您可以在 web.xml 中定义一个过滤器,该过滤器将仅过滤来自允许源的请求。

于 2013-01-16T15:06:33.457 回答
0

保护您的http://www.2.com/addPost使用仅存在于一台机器上的浏览器中的证书。

于 2013-01-16T14:46:59.470 回答
0

ServletRequest#getRemoteAddr()返回发送请求的客户端的 IP。您可以通过匹配客户端的 IP 来过滤此类请求。例如,对于其他客户端,您可以重定向到预定义404 error页面。

于 2013-01-16T14:51:04.247 回答
0

您还可以将 addPost 地址限制为仅限本地主机,并建立一个 ssh 隧道以进行更新。

于 2013-01-16T14:51:48.837 回答
0

我假设您使用的是 Apache Web Server,那么您可以配置一个虚拟主机并将访问规则设置为拒绝所有,允许来自 server1。这里的文档

于 2013-01-16T14:52:20.583 回答