我有.NET Web应用程序在防火墙后面的IIS上运行。
应用程序正在使用Windows身份validation(NTLM)来validation用户。
我需要使这个应用程序可以从互联网访问,所以:
为了清楚起见,我不希望NTLM传递给用户,反而需要[Reverse Proxy]对用户的行为讲IIS。 用户可以input不同的凭证,可以使用其他authenticationtypes(Google,FB等),[Reverse Proxy]将外部帐户与内部帐户匹配。 例如,员工将configuration他们想要用来访问Intranet门户的外部帐户。
我有什么select?
我可以使用Nginx或Squid来实现这种情况下自定义模块/插件的帮助?
这几乎听起来像SAML或OOth将是一个很好的select。 你有没有向下看这条路? 通常用于委托其他网站的凭据,但它也应该为内部网站工作。 尽pipe你可能需要在你的DMZ中构build一个自定义的前端。
事实上,你想要你的反向代理这样做会使它复杂一点。 我不知道任何开箱即用的代理软件,但是一些Juniper的VPN设备提供了一个Web界面,不仅允许用户启动一个VPN连接,而且在用户authentication之后也可以用作这样的代理到VPN设备网页界面。
为此目标使用反向代理并不是一个好主意。 Windows身份validation仅用于Intranet应用程序。 有很多原因,你不想要这个,其中一些可以在这里find。 其中最重要的一点是,你正在从DMZ开辟一条通往内部networking的途径,这可能会被黑客滥用。
你应该使用VPN来获得你正在寻找的目标。 这里是一个免费的VPN软件列表。 我个人最喜欢的是OpenVPN。
另一种可能性是使用表单身份validation是Web应用程序,并使用单独的凭据为您的用户login到Web应用程序。