我正在尝试从 Visual Studio 15.2 部署 Azure 应用服务。具体来说,我正在尝试部署以下服务:https ://github.com/Microsoft/Azure-SQL-DB-auditing-OMS-integration以将审计日志从 SQL 数据仓库摄取到 OMS。但是,出于安全考虑,我们希望在不创建公共端点(即 url)的情况下这样做。我们已尝试在 VNet 中对其进行配置,但除非 VNet 具有公共网关,否则它不允许您这样做。
1 回答
配置没有公共 URL 的 Azure 应用服务
据我所知,我们无法在没有公共 URL 的情况下配置 Azure App Service。如果您创建了 Web 应用程序,它将自动提供公共端点供用户访问。
这里有两个解决方法。
我发现 github 应用程序只使用了 web 应用程序的 webjobs。
单程:
如果您不需要任何网站,只需使用 backgourd 进程运行 webjobs,您可以选择使用WebJobs SDK本身但不需要为其配置 App Service 的azure function 。
第二种方式:
通常我们在 Azure App Service Web 应用程序中运行 WebJobs,并且可以通过 URL 访问/浏览该 Azure App Service Web 应用程序。如果要阻止用户浏览到该 Azure 应用服务 Web 应用,可以在站点的 web.config 中添加重写规则以阻止 Web 访问。
web.config 是这样的:
<?xml version="1.0" encoding="utf-8"?>
<!--
For more information on how to configure your ASP.NET application, please visit
https://go.microsoft.com/fwlink/?LinkId=169433
-->
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Block unauthorized traffic to staging sites" stopProcessing="true">
<match url=".*" />
<conditions>
<!-- Enter your staging site host name here as the pattern-->
<add input="{HTTP_HOST}" pattern=".*" />
<!-- Enter your white listed IP addresses -->
<add input="{REMOTE_ADDR}" pattern="123\.123\.123\.1" negate="true"/>
<!-- Add the white listed IP addresses with a new condition as seen below -->
<!-- <add input="{REMOTE_ADDR}" pattern="123\.123\.123\.2" negate="true"/> -->
</conditions>
<action type="CustomResponse" statusCode="403" statusReason="Forbidden"
statusDescription="Site is not accessible" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
有关如何将 web.config 添加到 Web 应用程序的更多详细信息,您可以按照以下步骤操作:
1.在门户网站打开kudu工具。
2.打开 cmd 控制台并找到 \site\wwwroot 文件夹。
3.创建 web.config 并复制其中的设置。
4.当我们访问该网站时,您会发现: