【发布时间】:2017-12-08 12:05:23
【问题描述】:
我的应用程序托管在 8050 端口下的 tomcat 中; mydomain:8050。现在,我想要一个友好的 url,比如 mydomain.com 用于访问 mydomain:8050 而客户端不会看到 URL 中的端口号。客户端应始终看到应在内部解析为 mydomain:8050 的 mydomain.com。
我在端口 80 上运行 IIS 服务器。我在其中创建了一个站点,只是为了使用可以解析为 mydomain:8050 的重写选项。它不适用于我使用的模式
模式: ((?:[^\/\n]|\/\/)+)(.*)
重写网址: {R:1}:8050{R:2}
然后我在端口 90 上安装了 apache http 服务器。在 IIS 站点中使用重定向将 URL 重定向到 mydomain:90$S$Q,然后在 Apache 中使用 rewrite 在内部将其重定向到 mydomain:8050。这在我有一个查询字符串时有效,例如mydomain.com/queryString,但如果我只输入mydomain.com,则无效。我可以看到它重定向到mydomain:90 并在没有执行任何重写规则的情况下停在那里。这也会将 URL 更改为 mydomain:90 并且对客户端可见。
我的要求是,当用户输入 mydomain.com 时,它应该在内部解析为 mydomain:8050(如果有的话,带有查询字符串),而客户端不会看到它。我在端口 80 上运行 IIS,在端口 90 上运行 apache。我怎样才能做到这一点?我确信这可以在 IIS 的重写规则中处理,但我不知道该怎么做。
【问题讨论】:
标签: apache mod-rewrite iis url-rewriting