2017-07-06 125 views
2

我有一个控制台应用程序,它具有在VM上运行的日志记录,日程安排等。它适用于实体框架,Azure SQL Server,Azure blob存储和一堆外部API。将C#控制台应用程序作为Azure Web作业发布

我想把它变成一项服务。

我知道这可以通过工作角色来完成,但是查看工人角色的各种教程,似乎要重写整个事情将是一大堆工作。

如果我只是将它作为网络工作发布,假设我没有任何暴露的终结点,这是否安全?我需要确保我们的活动目录之外没有人可以访问它。

有没有一种方法可以创建一个虚拟应用程序服务,它将没有终端并在那里发布?

+1

是的,如果它不暴露任何端点,没有人可以访问它。 –

回答

2

如果我只是将它作为一个web工作发布,假设我没有任何暴露的端点,这是否安全?我需要确保我们的活动目录之外没有人可以访问它。

正如Peter Bons所说,如果它没有公开API或端点,则没有人可以访问它。

有没有一种方法可以创建一个虚拟应用程序服务,它将没有终端并在那里发布?

通常,我们在Azure App Service Web应用程序中运行WebJobs,并且可以通过URL访问/浏览Azure App Service Web应用程序。如果要阻止用户浏览到该Azure App Service Web应用程序,则可以将重写规则添加到站点的web.config中,以便block web access

<rule name="Block unauthorized traffic to staging sites" stopProcessing="true">   
<match url=".*" />   
<conditions>   
<!-- Enter your site host name here as the pattern-->   
<add input="{HTTP_HOST}" pattern="^sitehostname\." />   
<!-- 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>  
1

究竟你的exe是什么?有人会调用它并计划定期运行吗? 我们在这里有几个选项,如果处理逻辑不是一个复杂的,你可以去Azure functions,它使用WebJobs SDK本身,但不需要为其配置App Service。 或者你可以去Azure Scheduler这可以采取你的可执行文件并按照预定的时间间隔运行。

相关问题