首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于单个VM上多个SSL的Azure VIP

问用于单个VM上多个SSL的Azure VIP
EN

Stack Overflow用户
提问于 2016-06-17 07:21:21
回答 1查看 858关注 0票数 1

我有一个Azure (虚拟机)与两个网站。每个网站都有自己的SSL证书。

但是,VM只有一个内部IP地址,因此无法工作。

我想要做的是添加第二个VIP (虚拟IP),并映射到另一个端口。所以就像这样:

VIP 1.1.1.1:80点至192.168.1.1:8081

VIP 2.2.2.2:80点至192.168.1.1:8082

VIP 3.3.3.3:443点至192.168.1.1:8444

VIP 4.4.4.4:443点至192.168.1.1:8445

我认为这应该是可行的,但是,我在配置Azure时遇到了很多困难。由于某些原因,没有web界面来定义这些东西,我只是还没有通过任何建议的方法来做到这一点。

有人能帮我吗?

  1. 我的解决方案应该有效吗?
  2. 我该怎么做?

我找到了这篇文章:https://azure.microsoft.com/en-us/documentation/articles/load-balancer-multivip/

使用Microsoft,尝试添加/列出VIP,我得到-AzureDeployment: ResourceNotFound:没有找到部署。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-11 12:02:48

我成功了成功了我很开心。我感谢Siva Edupuganti,高级程序员Azure,他帮了我这个忙。

,那么,我做了什么让它开始工作呢?

简单的回答是,wtih脚本可以在单个负载均衡器上设置多个前端IP地址配置。每个前端IP地址配置都有一个IP地址。通过UI你不能这样做。

很长的答案是完成这一任务的最终配置:

  1. 我的网站仍然可以在我的标准港口: 80和443。
  2. 我增加了5个新IP(虚拟IP)

这个新的公共虚拟IP上的每个传入请求都将由负载均衡器映射到内部IP,其中

不同的港口。为此,我将使用负载平衡规则。所以进站总是在标准端口80和443上,

但是IIS将在端口81和4431上接收。

vip-81 80 => 81,443 => 4431

vip-82 80 => 82,443 => 4432

vip-83 80 => 83,443 => 4433

vip-84 80 => 84,443 => 4434

vip-85 80 => 85,443 => 4435

首先,准备IP通过Azure UI。最多有5个前端地址,所以我创建了5个。

vip-81

vip-82

vip-83

vip-84

vip-85

代码语言:javascript
复制
#scripting part:
#Now login with Azure Powershell:
Login-AzureRmAccount

#You can run this scripts line by line or all together:
$publicIP1 = Get-AzureRmPublicIpAddress -name vip-81 -resourcegroupname MyRG
$publicIP2 = Get-AzureRmPublicIpAddress -name vip-82 -resourcegroupname MyRG
$publicIP3 = Get-AzureRmPublicIpAddress -name vip-83 -resourcegroupname MyRG
$publicIP4 = Get-AzureRmPublicIpAddress -name vip-84 -resourcegroupname MyRG
$publicIP5 = Get-AzureRmPublicIpAddress -name vip-85 -resourcegroupname MyRG

$frontendIP1 = New-AzureRmLoadBalancerFrontendIpConfig -Name lb-feipc-1 -PublicIpAddress $publicIP1
$frontendIP2 = New-AzureRmLoadBalancerFrontendIpConfig -Name lb-feipc-2 -PublicIpAddress $publicIP2 
$frontendIP3 = New-AzureRmLoadBalancerFrontendIpConfig -Name lb-feipc-3 -PublicIpAddress $publicIP3 
$frontendIP4 = New-AzureRmLoadBalancerFrontendIpConfig -Name lb-feipc-4 -PublicIpAddress $publicIP4
$frontendIP5 = New-AzureRmLoadBalancerFrontendIpConfig -Name lb-feipc-5 -PublicIpAddress $publicIP5

$beaddresspool = New-AzureRmLoadBalancerBackendAddressPoolConfig -Name lb-beapc-grp1

$lbrule1 = New-AzureRmLoadBalancerRuleConfig -Name lb-rule-tcp-80-8081 -FrontendIpConfiguration $frontendIP1 -

BackendAddressPool $beAddressPool -Protocol Tcp -FrontendPort 80 -BackendPort 8081
$lbrule2 = New-AzureRmLoadBalancerRuleConfig -Name lb-rule-tcp-80-8082 -FrontendIpConfiguration $frontendIP2 -

BackendAddressPool $beAddressPool -Protocol Tcp -FrontendPort 80 -BackendPort 8082
$lbrule3 = New-AzureRmLoadBalancerRuleConfig -Name lb-rule-tcp-80-8083 -FrontendIpConfiguration $frontendIP3 -

BackendAddressPool $beAddressPool -Protocol Tcp -FrontendPort 80 -BackendPort 8083
$lbrule4 = New-AzureRmLoadBalancerRuleConfig -Name lb-rule-tcp-80-8084 -FrontendIpConfiguration $frontendIP4 -

BackendAddressPool $beAddressPool -Protocol Tcp -FrontendPort 80 -BackendPort 8084
$lbrule5 = New-AzureRmLoadBalancerRuleConfig -Name lb-rule-tcp-80-8085 -FrontendIpConfiguration $frontendIP5 -

BackendAddressPool $beAddressPool -Protocol Tcp -FrontendPort 80 -BackendPort 8085

$lbrule6 = New-AzureRmLoadBalancerRuleConfig -Name lb-rule-tcp-443-4431 -FrontendIpConfiguration $frontendIP1 -

BackendAddressPool $beAddressPool -Protocol Tcp -FrontendPort 443 -BackendPort 4431 
$lbrule7 = New-AzureRmLoadBalancerRuleConfig -Name lb-rule-tcp-443-4432 -FrontendIpConfiguration $frontendIP2 -

BackendAddressPool $beAddressPool -Protocol Tcp -FrontendPort 443 -BackendPort 4432
$lbrule8 = New-AzureRmLoadBalancerRuleConfig -Name lb-rule-tcp-443-4433 -FrontendIpConfiguration $frontendIP3 -

BackendAddressPool $beAddressPool -Protocol Tcp -FrontendPort 443 -BackendPort 4433
$lbrule9 = New-AzureRmLoadBalancerRuleConfig -Name lb-rule-tcp-443-4434 -FrontendIpConfiguration $frontendIP4 -

BackendAddressPool $beAddressPool -Protocol Tcp -FrontendPort 443 -BackendPort 4434
$lbrule10 = New-AzureRmLoadBalancerRuleConfig -Name lb-rule-tcp-443-4435 -FrontendIpConfiguration $frontendIP5 -

BackendAddressPool $beAddressPool -Protocol Tcp -FrontendPort 443 -BackendPort 4435

$NRPLB = New-AzureRmLoadBalancer -ResourceGroupName MyRG -Name lb-grp1 -Location 'Central US' -

FrontendIpConfiguration $frontendIP1,$frontendIP2,$frontendIP3,$frontendIP4,$frontendIP5 -LoadBalancingRule $lbrule1,

$lbrule2,$lbrule3,$lbrule4,$lbrule5,$lbrule6,$lbrule7,$lbrule8,$lbrule9,$lbrule10 -BackendAddressPool $beAddressPool

#end script part. Go to the UI.

现在,负载均衡器被设置为端口映射的10个规则。

现在通过UI打开一些端口和其他设置:

  1. 允许端口*到端口8081-8085和4431-4435的网络安全组
  2. 允许从AzureLoadBalancer到端口8081-8085的网络安全组。
  3. 打开端口8081-8085和4431-4435上的windows防火墙。

现在:通过UI配置负载均衡器:添加到与web服务器/池关联的后端池中.

准备探测&连接到UI中的负载平衡规则(也不需要)

lb-探测-tcp-8081

lb-探针-tcp-8082

lb-探针-tcp-8083

lb-探针-tcp-8084

lb-探针-tcp-8085

现在一切都应该成功了。6台IP,其中5台通过负载均衡器。最多有6个不同的SSL证书与IIS并行运行在同一个虚拟服务器上。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37875464

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档