gpt4 book ai didi

c# - Azure云服务嵌入式FTP服务器

转载 作者:太空狗 更新时间:2023-10-29 23:53:18 26 4
gpt4 key购买 nike

我想在 Azure 云服务辅助角色中托管嵌入式 FTP 服务器。

为了提供对 FTP 服务器的被动访问,它使用端口范围 20000-21000。在 ServiceDefinition.csdef 中,我定义了所有需要的端口(参见屏幕截图)。

ServiceDefinition.cscfg

主要问题是端口数量巨大。如果我尝试将服务上传到云中,则会收到以下错误。

Validation error: Invalid number of input endpoints - current 1002, max. 25

我怎样才能通过云服务获得这项工作?

最佳答案

这是基于 Azure 支持答案的解决方案。

您需要在 .cscfg 文件中定义公共(public) IP 并将其上传到云服务。

<?xml version="1.0" encoding="utf-8"?>
<ServiceConfiguration serviceName="ILPIPSample" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration" osFamily="4" osVersion="*" schemaVersion="2014-01.2.3">
<Role name="WebRole1">
<Instances count="1" />
<ConfigurationSettings>
<Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" value="UseDevelopmentStorage=true" />
</ConfigurationSettings>
</Role>
<NetworkConfiguration>
<AddressAssignments>
<InstanceAddress roleName="WebRole1">
<PublicIPs>
<PublicIP name="MyPublicIP" domainNameLabel="WebPublicIP" />
</PublicIPs>
</InstanceAddress>
</AddressAssignments>
</NetworkConfiguration>
</ServiceConfiguration>

More info: https://learn.microsoft.com/en-us/azure/virtual-network/virtual-networks-instance-level-public-ip#manage-an-ilpip-for-a-cloud-services-role-instance

之后,您可以使用 nslookup 获取分配给实例的公共(public) IP。如果有多个实例,则需要将0更改为1、2、3等。

nslookup WebPublicIP.0.<Cloud Service Name>.cloudapp.net

然后您可以在实例的Windows防火墙中打开本地端口,您将可以直接从互联网连接本地端口。

您可以创建启动任务来打开云服务防火墙中的本地端口。以下是如何配置防火墙规则的示例。每次实例重新启动/重新镜像时都会执行启动任务。

https://learn.microsoft.com/en-us/azure/cloud-services/cloud-services-startup-tasks-common#add-firewall-rules

如下所示:

netsh advfirewall firewall add rule name="TCP ports" protocol=TCP dir=in localport=1000-2000 action=allow

关于c# - Azure云服务嵌入式FTP服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53216298/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com