Skip to page content

亚洲太平洋地区 (Chinese Simplified) 更改
EZProxy : 支持、培训及文档 : 常见问题解答

EZproxy常见问题解答

1. 当从login.htm调用时,为什么在docs目录里的.gif和.jpg文件呈现成破碎的图像?

2. 用户看到“找不到网页”的错误,服务器报告“MaxVirtualHosts”超额,数据库没有准确代理,或者遇到其他EZproxy问题。应该从哪里开始排查?

3. EZproxy需要多少个端口?

4. 什么是“/status”?如何访问它?

5. 什么是一个starting point URL?

6. 在登录前,starting point URL不会将用户带到正确的数据库,而是把他们带到数据库菜单或者是一个特定的数据库。在登录后,starting point URL正常工作。这是哪里出错了?

7. 防火墙对EZproxy的影响?

8. 如何配置EZproxy作为一个Windows Service运行?

9. 当以一个Windows服务运行EZproxy,返回1067错误。该如何解决这个问题?

10. 当使用exclude lines,为何菜单没有自动出现?

11. EZproxy已经安装和运行有一段时间,但突然间,新数据库的host name无法被代理?应该先从哪里开始检查?

12. 为什么EZproxy无法循环利用端口号?

13. 使用EZproxy,是否需要购买Microsoft Client Access Licenses (CALS)?

14. 如何确定在服务器上运行的EZproxy是哪个版本?

15. EZproxy已经安装和运行有一段时间,但突然间所有登陆尝试都声明“Attempt to authenticate to non-existent session”。应该怎么检查?

16. Adobe Acrobat PDF文件内的链接是否能被代理?

17. EZproxy是否支持Flash?


1. 当从login.htm调用时,为什么在docs目录里的.gif和.jpg文件呈现成破碎的图像?

在docs子目录的文件是作为EZproxy某些功能如登陆的模板。EZproxy只用子目录下的自己的特定文件,完全忽略在这个目录中的任何其他文件。

在EZproxy 1.x版本,在登陆页面增加图像的唯一办法就是指向保存在另一个Web服务器上的图像,例如:

<img src="http://www.yourlib.org/images/logo.gif">

在EZproxy2.0版本,docs子目录包含三个新的子目录:public、limited和loggedin。这些都可以被用来保存任意的Web内容。

任何保存在public目录中的文件都可提供给所有用户。如果有图像、样式表、脚本或其它想用在login.htm页面上的内容,都可以将它们放置在这个目录中。从login.htm,可以使用一个相对URL来调用它们,例如:

<img src="/public/logo.gif">

在limited目录中的文件可提供给已经登陆到EZproxy或在一个已排除IP范围内的人们使用。可将能提供给在IP范围内或经过远程认证的任一用户的文件保存在这个目录中。指向这个目录的文件的URL如下所示:

http://ezproxy.yourlib.org:2048/limited/somedoc.htm

在loggedin目录中的文件只提供给已经登陆到EZproxy的用户。这是一个存放包含敏感信息的文件的好地方。如果想与用户分享私人信息的话,可以使用它。一个样本URL如下所示:

http://ezproxy.yourlib.org:2048/loggedin/somedoc.htm

存放在public、limited和loggedin的文件可以由基本字母(A-Z、a-z)、数字(0-9)、句号(。)、连字符( - )和下划线(_)组成。包含任何其他字符的文件将不会被EZproxy送达,并将返回给用户一个404错误。

这些目录中没有默认文档(例如:没有index.html或default.htm等),所以如果没有一个文件名时而试图访问/public、/limited或/loggedin,将返回一个404错误。


2. 用户看到“找不到网页”的错误,服务器报告“MaxVirtualHosts”超额,数据库没有准确代理,或者遇到其他EZproxy问题。应该从哪里开始排查?

如果EZproxy服务器有问题,诊断问题最好从这里开始“常见问题疑难解答”。它提供诊断和解决最常见EZproxy配置问题的步骤。


3. EZproxy需要多少个端口?

请参见“EZproxy需要多少个端口?”。


4. 什么是“/status”?如何访问它?

网址如下:

http://ezproxy.yourlib.org:2048/status

管理员可访问这个网址。 EZproxy Administration介绍了如何创建一个管理员账号。

在这个页面的Hosts部分列出了一系列统计数据。Created列的第一行代表EZproxy服务的最近一次启动时间,其他行代表相应数据库通过EZproxy启用代理服务的时间。Accessed列代表该Host的代理服务被访问的最新时间,其后的Counts列代表此数据库的EZproxy代理服务被访问的次数。Referenced列代表该Host被代理的最新时间,其后的Counts代表被代理的次数。


5. 什么是一个starting point URL?

经常出现在EZproxy文件中的一个术语,在数据库定义中有相关解释。


6. 在登录前,statring point URL不会将用户带到正确的数据库,而是把他们带到数据库菜单或者是一个特定的数据库。在登录后,starting point URL正常工作。这是哪里出错了?

出现这个问题的最常见原因是因为login.htm或loginbu.htm文件丢失他们隐藏的“url”字段。这两个文件应该在登录表单内包含下面这行:

<input type="hidden" name="url" value="^U">

EZproxy使用这个隐藏字段在身份认证过程中保存这个目标URL。这个条目的关键部分是:

value="^U"

因为EZproxy查找^ U并自动用starting point URL内的URL替换它。

如果这个隐藏字段丢失,用户在登录后就到数据库菜单。如果用户总是去同一个数据库,用户访问的数据库可能被列出,因为值正是这个数据库并需要被^U替代。

如果使用CGI认证,脚本必须保存目标URL,以确保用户将最终被路由到正确的数据库。


7. 防火墙对EZproxy的影响?

这个问题实际上分为两部分:您机构的防火墙和远程用户站点的防火墙。基本上,除非远程用户能访问EZproxy所使用的端口,不然远程用户将无法访问EZproxy。

您机构的防火墙:

如果您机构有一个防火墙,它必须被配置成允许Web请求到达EZproxy。究竟使用哪些端口在上面已经讨论过了。如果您还使用网络地址转换(Network Address Translation, NAT),应该查阅这里的其他信息。

远程用户站点的防火墙:

大多数ISP对其用户访问互联网的范围不做限制,因此家庭用户不太可能遇到防火墙的问题。然而,企业站点往往部署防火墙,并对其员工访问互联网的范围进行高度限制。如果向一个特定企业站点提供内容,该企业网站可能愿意允许开放自己的防火墙访问您的EZproxy服务器。但是,如果一个企业网站拒绝开放访问,用户将无法访问EZproxy。

重要的是要知晓企业防火墙限制并非仅针对EZproxy,实际上这是在安装任何一种用于远程访问的代理服务器都会遇到这个问题。


8. 如何配置EZproxy作为一个Windows Service运行?

参见:配置EZproxy作为一个Windows Service运行


9. 当以一个Windows服务运行EZproxy,返回1067错误。该如何解决这个问题?

参见:Windows 错误 1067


10. 当使用exclude lines,为何菜单没有自动出现?

如果您使用类似下列的一行:

http://ezproxy.yourlib.org:2048/
http://ezproxy.yourlib.org:2048/login
http://ezproxy.yourlib.org:2048/login

登陆页面将始终显示,即使在cfg文件添加了exclude lines。只有在登陆后,菜单才会出现。登陆页面允许本地管理员登陆,这样他们可以查看一些东西如 /status

Exclude lines被设计和starting point URLs一并工作。


11. EZproxy已经安装和运行有一段时间,但突然间,新数据库的host name无法被代理?应该先从哪里开始检查?

如果EZproxy服务器出了问题,开始诊断问题的最佳途径是查看常见问题疑难解答,它提供了EZproxy最常见配置问题的诊断和解决步骤。


12. 为什么EZproxy无法循环利用端口号?

当运行原来的“proxy by ports”配置,EZproxy分配各个端口给不同的Web服务器。例如,EZproxy可能分配2050端口给www.somedb.com,分配2051端口给search.somedb.com,等等。由于用户通过这些端口访问数据库,这些端口将构成各种记录。这不仅出现在一些明显的地方如书签,而且也更多地出现在如Web浏览器缓存和互联网Web服务器缓存等不易察觉的地方。

当一个浏览器请求一个文件时,它通常说“give me this page, unless it hasn’t been modified since this date that’s on a copy of the page I already have in cache.(给我这个网页,除非在我的缓存备份这个网页之后没有更改过。)”如果某天2050端口代表www.somedb.com,但第二天代表www.otherdb.com,可能随时遇到一个事例即用户浏览的网页包含的元素可能是来自两个公司的Web服务器(当此微妙之处尚未实现时,这个现象在EZproxy早期发展过程中确实出现过)。


13. 使用EZproxy,是否需要购买Microsoft Client Access Licenses (CALS)?

Microsoft的许可模式复杂且随时在变化。有关此问题,请咨询Microsoft。


14. 如何确定在服务器上运行的EZproxy是哪个版本?

参见:我服务器上的EZproxy是哪个版本? .


15. EZproxy已经安装和运行有一段时间,但突然间所有登陆尝试都声明“Attempt to authenticate to non-existent session”。应该怎么检查?

这个问题最常见的原因是EZproxy在Linux上运行,并且ezproxy.log文件大小超过2千兆字节时。出现这种情况时,当它每次尝试在log文件记录一些东西时,EZproxy将重启。如果是这种情况,只要重命名ezproxy.log文件,就能解决这个问题。


16. Adobe Acrobat PDF文件内的链接是否能被代理?

EZproxy无法重写Adobe Acrobat PDF文件内的链接。如果您能安排非IP访问方式(例如:一些用户名和密码类型),OCLC可以与您合作配置EZproxy,利用用户名密码信息(而非IP认证)来访问PDF文件内的链接。联系support@oclc.org了解更多帮助。


17. EZproxy是否支持Flash?

由于OCLC无法重写嵌入在Flash文件内的URL,因此EZproxy不支持Flash。此情况在EZproxy listserv (http://ls.suny.edu/read/messages?id=67085#67085)中也有列出。如果能确保在URL内没有绝对路径名就能运行Flash,但EZproxy不支持Flash。Java Applets和流媒体也有类似的问题,因此EZproxy也不支持Java Applets和流媒体。遗憾的是,这是EZproxy的局限之一,该问题不太可能被解决。

EZproxy像一个简单的Web浏览器运行并且面向数据库,因此通常的数据库都能被代理。EZproxy将整个html文件拆开并对其进行重写,因此所有数据库链接都会返回到EZproxy。当用户点击一个数据库链接,该动作将发送到EZproxy,由EZproxy代表经授权请求发送到数据库。如果链接隐藏在flash中或一个java应用程序中或一个流媒体播放器中,EZproxy就无法做重写。因此,当一个用户请求一个操作时,可能就直接发送到提供商处,对于提供商而言它就是一个随机的未经授权的网络用户。当没有绝对的路径名称,通信将通过EZproxy路由回来,然后就能通过已授权连接传输到提供商处。