我正在Web服务器上运行OpenClinica安装,并且仅在Google Chrome上遇到以下问题:
这仅在Google Chrome上发生。以下是access.log中的相关条目-有人能理解吗?我对HTTP状态代码一无所知。
[03/Sep/2019:13:29:09 +0200] "POST /OpenClinica/j_spring_security_check HTTP/1.1" 302 328 "http://my-url.com/OpenClinica/pages/login/login;jsessionid=E6A0E2838AA51B1DA9F6AED47C42D5CD" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36"
[03/Sep/2019:13:29:09 +0200] "GET /OpenClinica/favicon.ico HTTP/1.1" 304 177 "http://my-url.com/OpenClinica/pages/login/login;jsessionid=E6A0E2838AA51B1DA9F6AED47C42D5CD" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36"
[03/Sep/2019:13:29:09 +0200] "GET /OpenClinica/MainMenu HTTP/1.1" 200 8269 "http://my-url.com/OpenClinica/favicon.ico" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36"
[03/Sep/2019:13:29:10 +0200] "GET /favicon.ico HTTP/1.1" 302 421 "http://my-url.com/OpenClinica/MainMenu" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36"
[03/Sep/2019:13:29:10 +0200] "GET /OpenClinica/pages/login/login;jsessionid=EA92FE865CF5345428D7538D18871D99 HTTP/1.1" 200 4770 "http://my-url.com/OpenClinica/MainMenu" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36"
点击列出所有患者
[03/Sep/2019:13:29:12 +0200] "GET /OpenClinica/ListStudySubjects HTTP/1.1" 302 272 "http://my-url.com/OpenClinica/MainMenu" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36"
[03/Sep/2019:13:29:12 +0200] "GET /OpenClinica/pages/login/login HTTP/1.1" 200 4770 "http://my-url.com/OpenClinica/MainMenu" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36"
[03/Sep/2019:13:29:12 +0200] "GET /favicon.ico HTTP/1.1" 302 422 "http://my-url.com/OpenClinica/pages/login/login" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36"
[03/Sep/2019:13:29:12 +0200] "GET /OpenClinica/pages/login/login;jsessionid=9625D469100D1871538197FE241DECCB HTTP/1.1" 200 4770 "http://my-url.com/OpenClinica/pages/login/login" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36"
[03/Sep/2019:13:29:12 +0200] "GET /OpenClinica/RssReader HTTP/1.1" 200 757 "http://my-url.com/OpenClinica/pages/login/login" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36"
现在我确实有一些古怪的重定向规则,我认为这是问题的根本原因。它们被写为解决另一个问题的方法-登录到系统时,浏览器(任何浏览器)将尝试打开favicon.ico作为图片,而不是定期查看favicon,从而导致(取决于浏览器,404页面或网站图标被全屏打开。这是重定向规则:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName www.my-url.com
ProxyPreserveHost On
ProxyPass /OpenClinica/favicon.ico http://localhost:8080/OpenClinica/
ProxyPassReverse /OpenClinica/favicon.ico http://localhost:8080/OpenClinica/
ProxyPass /OpenClinica/ http://localhost:8080/OpenClinica/
ProxyPassReverse /OpenClinica/ http://localhost:8080/OpenClinica/
ProxyPass / http://localhost:8080/OpenClinica/
ProxyPassReverse / http://localhost:8080/OpenClinica/
</VirtualHost>
答案 0 :(得分:1)
未使用特定的应用程序。正如我所看到的,如果您在/
上登录时收到一个/OpenClinica/
的cookie,则:单击相对链接(将使您保持/
)将阻止浏览器将接收到的Cookie重新发送到服务器。
我将用以下内容替换最后2个条目:
RedirectMatch ^/$ /OpenClinica/
我不完全了解favicon的问题,但也许您想在此应用相同的规则。
注意:要使RedirectMatch工作,应启用mod_alias。
另一件事:我看到ProxyPreserveHost
已启用。这意味着OpenClinica
应该知道其外部主机名。
答案 1 :(得分:0)
该服务器正在侦听端口:80
,但是那些代理规则都在端口:8080
上……而我只是想知道为什么需要在localhost
上配置代理规则?
同时删除所有这些,并忽略favicon问题... jsessionid
与URL一起传递,而是暗示服务器未正确处理会话,因为此类ID通常属于请求标头;将它们放到URL中是后备选项(因为任何可以看到日志的人都可以在进行中劫持这些会话,而无需输入密码)。使用HTTPS并没有那么糟,但是在HTTP上,这在最终的代理日志中也可见。
老实说,我认为这不是Chrome问题,而是虚拟主机配置和/或会话问题。
它似乎源于没有DocumentRoot
指令的虚拟主机-因此它将继承全局配置,该全局配置似乎比/OpenClinica
高一个级别。