我在使用 IIS(Internet 信息服务)托管的 Angular 应用程序中遇到问题,并且我想从响应标头中隐藏服务器名称详细信息。我面临的问题与应用程序如何处理 URL 中的 % 符号有关。每当访问带有 % 符号的 URL 时,应用程序似乎无法正确解释它,从而导致意外行为并显示服务器名称。请求成功后,URL 中不会显示 % 符号。请求失败时,服务器名称会显示在 URL 中。
例如,如果我尝试访问 http://localhost:4000 那么它工作正常。但如果我将 % 符号作为后缀添加到 URL 中,它会返回 400-Bad-Request 作为响应。
我已正确设置所有角度路由设置,在这种状态下,应用程序正在按预期工作。问题在于应用程序托管在 IIS 服务器上。
我正在分享我尝试解决此问题的所有解决方案:
hello-world 是一个简单的角度应用程序,用于显示由 IIS 托管的“hello world”。我正在使用 IIS 10.0.19 和 Angular 16.1.8
我尝试过 URL 重写正则表达式模式的多个选项,并且精确匹配还编写了处理程序和模块映射。
我还尝试过用于重定向的自定义错误页面、URL-Scan.ini 和其他可用的解决方案,但它们都不适合我。 我无法得到预期的结果。有人遇到过同样的问题吗?如果是,请建议我除了上述几点之外的正确解决方案。如何从 URL 隐藏服务器详细信息并在我的应用程序中实现。
如有任何建议,我们将不胜感激。我愿意尝试所有可能有助于解决我的问题的建议。
提前感谢大家的支持和帮助!