Связывание портов в powershell внутри док-контейнера - PullRequest
0 голосов
/ 08 октября 2019

У меня есть веб-сайт, размещенный в док-контейнере IIS, и он прослушивает 443. Я пытаюсь связать еще один порт - 10000 с помощью New-WebBinding. Тем не менее, это не работает. Сайт по-прежнему доступен на 443, но не работает на 10000. Моя новая команда привязки выглядит следующим образом:

New-WebBinding -Name "Default Web Site" -IPAddress "*" -Port 10000 -Protocol "https"

И Get-WebSites подтверждает, что порт связан с веб-сайтом по умолчанию.

ВнутриФайл docker-compose, у меня настроена переадресация портов для обоих портов, и запрос к 10000 даже не достигает контейнера (потому что я не вижу записи для порта 10000 в журнале IIS.). Я также установил правило входящего для порта 10000. Есть ли что-то, что я здесь упускаю?

Ответы [ 2 ]

0 голосов
/ 11 октября 2019

Если вы не хотите жестко кодировать отпечаток большого пальца, используйте код, который я использую:

$cert = (Get-ChildItem cert:\LocalMachine\My | where-object { $_.Subject -like "*$hostname*" } | Select-Object -First 1).Thumbprint  
$binding = Get-WebBinding -Name "Default Web Site" -Protocol "https" -Port $port
$binding.AddSslCertificate($cert, "my")
0 голосов
/ 11 октября 2019

вы установили сертификат для этой привязки порта 10000? чтобы установить сертификат, вы можете использовать этот скрипт PowerShell:

PS C:\WINDOWS\system32> Import-Module WebAdministration

PS C:\WINDOWS\system32> cd IIS:\SslBindings PS IIS:\SslBindings> get-item cert:\LocalMachine\MY\7ABF581E134280162AFFFC81E62011787B3B19B5 | new-item 0.0.0.0!10000 

7ABF581E134280162AFFFC81E62011787B3B19B5 - это отпечаток вашего сертификата. чтобы получить возможность выполнить эту команду:

 Get-ChildItem -path cert:\LocalMachine\My
...