我创建了一个Azure Service Fabric Web API,并计划通过Service Fabric内置的反向代理来实现它。
一切都在本地运行良好但是当我发布到Azure时,尝试通过反向代理访问路由会超时。
我认为它可能是我的应用程序,所以我只是使用默认模板打开一个新的解决方案并发布到我的本地。一切都很好反向代理和所有。所以我发布到Azure并再次遇到了同样的问题。
我可以通过正常路由(通过服务的端点)访问azure上的Web API,例如:
xxxx.east.cloudapp.azure:8080/api/values
但是通过反向代理端口19081次:
xxxx.east.cloudapp.azure:19081/[app]/[service]/api/values
我确实在Azure上设置群集资源时确保勾选启用反向代理,并将端口设置为19081.上述两种方法在localhost上都可以正常工作,但只有正常路由可以在Azure上运行。
想知道是否有一些额外的清单编辑或我必须做些什么才能使它在Azure上正常工作?
你有没有看到documentation如何配置它?
如果你要在互联网上公开服务,请注意内置服务会导致每个服务暴露,它没有硬化,它容易受到DOS攻击。 Docs
我建议看看Traefik作为反向代理和负载均衡器。您可以将其作为集群内的(容器化)入口路由服务运行,并将HTTP调用直接发送到您的服务。
或者,您也可以使用与SF集成的Api Gateway。甚至Nginx。