检测用户是否在 Apache 或 NodeJS 中使用 proxypass
Detect if user uses proxypass in Apache or NodeJS
我在端口 1234 上开发了一个 NodeJS 应用程序 运行。为了在地址栏中不包含“:1234”,我使用 proxypass/proxypassreverse 以便 URLs看起来像 "mysite.com/myapp/".
一切正常,但我的应用需要 SSO。当用户尝试访问 "mysite.com/myapp" 时,他被重定向到 SSO,他登录,然后 SSO 将他重定向到 "mysite.com:1234"(因为 SSO 不了解有代理通行证)。
我在我的页面上创建了一个 javascript,检测 URL 中是否有“:1234”,如果有,window.location 将“:1234”替换为“/myapp” ".
这对我来说不是一个很好的解决方案,我认为可能有一个 NodeJS 或更好的 Apache 解决方案来检测到达的 URL 是“:1234”还是“/myapp” " 一个.
提前致谢。
好的,我的问题是 NodeJS 将带有端口号的 URL 发送到 SSO。我需要做的就是用我用于 ProxyPass 的字符串替换端口号:
req.get('host').replace(':' + PORT, '/node')
我在端口 1234 上开发了一个 NodeJS 应用程序 运行。为了在地址栏中不包含“:1234”,我使用 proxypass/proxypassreverse 以便 URLs看起来像 "mysite.com/myapp/".
一切正常,但我的应用需要 SSO。当用户尝试访问 "mysite.com/myapp" 时,他被重定向到 SSO,他登录,然后 SSO 将他重定向到 "mysite.com:1234"(因为 SSO 不了解有代理通行证)。
我在我的页面上创建了一个 javascript,检测 URL 中是否有“:1234”,如果有,window.location 将“:1234”替换为“/myapp” ".
这对我来说不是一个很好的解决方案,我认为可能有一个 NodeJS 或更好的 Apache 解决方案来检测到达的 URL 是“:1234”还是“/myapp” " 一个.
提前致谢。
好的,我的问题是 NodeJS 将带有端口号的 URL 发送到 SSO。我需要做的就是用我用于 ProxyPass 的字符串替换端口号:
req.get('host').replace(':' + PORT, '/node')