IIS Express'te dış istek nasıl etkinleştirilir?


466

IIS Express'te uzak istekleri nasıl etkinleştirebilirim? Scott Guthrie bunun mümkün olduğunu yazdı ama nasıl olduğunu söylemedi.



@ Jim Jim, eklentinin yaratıcısı mısın? Yazılım mühendisliğinin bu mucizesinin nasıl çalıştığını açıklayabilir misiniz?
Ian Warburton

@IanWarburton mucize dediğin için teşekkürler! Bu bir ters proxy sunucusudur.
Jim W, Monica

@JimW Oluşturduğunuz için teşekkür ederiz.
Ian Warburton

@JimW Eklentinizi denedim ve öğreticide söylediğin gibi yaptım. Ama benim localhost'uma
erişemiyorum

Yanıtlar:


404

IIS ekip sitesinde artık IIS Express'te uzak bağlantıların nasıl etkinleştirileceğini açıklayan bir blog yazısı var . İşte bu yazının ilgili kısmı:

Vista ve Win7'de, bir yönetim isteminden aşağıdaki komutu çalıştırın:

netsh http add urlacl url=http://vaidesg:8080/ user=everyone

XP için, önce Windows XP Service Pack 2 Destek Araçları'nı yükleyin. Sonra bir yönetim isteminden aşağıdaki komutu çalıştırın:

httpcfg set urlacl /u http://vaidesg1:8080/ /a D:(A;;GX;;;WD)


121
503 Hatası durumunda,
şuna

5
Herhangi bir ana bilgisayar adında netshbağlantılara izin verme komutu var mı ?
Albay Panik

33
Sadece kayıt için, İngilizce olmayan bir dilde Windows makineniz varsa, parametresi user={PARAM_USER}kendi dilinizde olacaktır.
GoRoS

7
Url parametresinde joker karakterler (ör. Url = http: // *: 8080 /) kullanılması, bağlantıların hem ana makine adı hem de bilgisayarın IP adresi için çalışmasını sağlar.
Anders

2
Komutun başarısız olması durumunda (muhtemelen hata 1789), komutun PC dilinizde kullanıcı için beklediğini dikkate alın. PC'niz örneğin Portekizce ise, user=todosyerine kullanın user=everyone.
Vitor Canova

350

Yapmanız gerekebilecek üç değişiklik var.

  1. IIS Express'ten kendisine tüm IP adreslerine ve ana bilgisayar adlarına bağlanmasını söyleyin. Sizin de .configdosyaya. Tipik:
    • VS 2015: $(solutionDir)\.vs\config\applicationhost.config
    • <VS 2015: %userprofile%\My Documents\IISExpress\config\applicationhost.config

Sitenizin bağlayıcı öğesini bulun ve ekleyin

    <binding protocol="http" bindingInformation="*:8080:*" />
  1. 'Http.sys' adlı Windows bitini kurun. Yönetici olarak şu komutu çalıştırın:
    netsh http add urlacl url=http://*:8080/ user=everyone

everyoneWindows grubu nerede . "Tout le monde" gibi boşlukları olan gruplar için çift tırnak kullanın.

  1. Windows güvenlik duvarı üzerinden IIS Express'e izin verin.

    Başlat / Gelişmiş Güvenlik Özellikli Windows Güvenlik Duvarı / Gelen Kuralları / Yeni Kural ...

    Program %ProgramFiles%\IIS Express\iisexpress.exe
    VEYA Bağlantı Noktası 8080 TCP

Şimdi başladığınızda iisexpress.exe,

"Merhaba dünya" uygulaması "/" sitesi için "http: // *: 8080 /" başarıyla kaydedildi


22
Not: Windows'un yerelleştirilmiş bir sürümünü çalıştırıyorsanız users=everyone, netsh(ikinci adım) parametresi 1789 hatasına neden olabilir. Çözüm, everyonekendi dilinizde karşılık gelen grup adına çevirmektir .
mflodin

5
Bir Visual Studio projesinin bu bağlamayı kabul etmesini nasıl sağlıyorsunuz? Belirttiğiniz proje özelliklerinde, Project Urlana bilgisayar adı için bir yıldız işareti girersem hata verir. Başka bir şey girersem, yeni bir sanal dizin oluşturmaya çalışır. Application.config dosyasındaki girdiye bağlanmaz.
Trevor Elliott

20
Visual Studio'da çalışması için, bilgisayarınızın ana bilgisayar adını 1. adımda bindingInformation="*:8080:hostname"ve 2. adımda url=http://hostname:8080/kullanmanız ve Web sekmesindeki Visual Studio web projesi özelliklerinizde Proje URL'si olarak ayarlayın http://hostname:8080/. *Zaten bir tane oluşturduysanız urlacl'ı silin ; her ikisine sahipseniz işe yaramaz. Son olarak, web tarayıcınızda girdiğiniz URL'nin yerel ana bilgisayara değil, ana makine adına başvurması gerekir.
Joe Daley

5
Bağlama öğesinde de bir localhost satırına sahip olmalıydım, aksi takdirde visual studio 2013 yinelenen bir site girişi oluşturmaya çalıştı. örneğin:<binding protocol="http" bindingInformation="*:8080:localhost" />
kristianp

3
Ayrıca Visual Studio'yu yönetici olarak çalıştırmam gerekiyordu, ancak bu cevap en iyisiydi.
dlsso

127

Birkaç ay önce bu iş akışını denerken aynı sorunlarla karşılaştığımı hatırlıyorum.

Bu yüzden özellikle bu tür bir senaryo için basit bir proxy yardımcı programı yazdım: https://github.com/icflorescu/iisexpress-proxy .

IIS Express Proxy'yi kullanarak her şey oldukça basit hale gelir - “netsh http add urlacl url = vaidesg: 8080 / user = herkes” veya “applicationhost.config” ile uğraşmanıza gerek yoktur.

Sadece komut isteminde bunu yayınlayın:

iisexpress-proxy 8080 to 3000

… Ve sonra uzak aygıtlarınızı http: // vaidesg: 3000'e yönlendirebilirsiniz .

Çoğu zaman daha basit IS iyidir.


3
Mükemmel çözüm için teşekkürler!
Yaz Saati

1
Azure, applicationhost.config dosyasını otomatik olarak oluşturup ciltleme değişikliklerinizi sildiğinden, bunun gibi Node.js çözümlerinin Azure üzerinde güvenilir bir şekilde çalıştığını da ekleyebilirim.
TheHansinator

1
Ngrok beklendiği gibi çalışmadığı için Mac'te IIS Express Proxy'yi kullanmaya başladım (çünkü gerekli IIS Express yapılandırma işlemlerini yapmamıştım). Çok kullanışlı! Teşekkür ederim.
codingoutloud

1
Bu açık ara en kolay çözümdür. Gerekmiyorsa applicationhost.config ile uğraşmamayı tercih ederim.
skalpin

4
Mükemmel çözüm! Şimdi geri dönüp IIS Express'imdeki karışıklığı geri almak için.
Mitch Stewart

123

İisexpress-proxy bulana kadar hiçbir şey benim için işe yaramadı .

Komut istemini yönetici olarak açın, ardından çalıştırın

npm install -g iisexpress-proxy

sonra

iisexpress-proxy 51123 to 81

Visual Studio projenizin localhost: 51123'te açıldığını ve xxxx: 81 harici IP adresinden erişmek istediğinizi varsayarsak

Düzenleme: Şu anda kullanıyorum ngrok


7
ağrısız çözüm
bahadir

4
Bulabildiğim en kolay çözüm. İisexpress'i iletmekten daha fazlası için kullanabileceğiniz için paketi web-proxy gibi bir adla muhtemelen yeniden adlandırmalısınız :)
Mario Tacke

8
@xgp - Merhaba, iisexpress-proxy'nin yazarıyım :-) Sonunda senin için çalışmayı başardın mı? Komut istemini kapatıp yeniden açmanız veya nadir durumlarda olayı os'u yeniden başlatmanız gerekir. Başka sorularınız varsa bana proje sayfasında bir satır bırakın ( github.com/icflorescu/iisexpress-proxy ) ve zamanım olursa yardımcı olmaya çalışacağım.
Ionut-Cristian Florescu

1
Bunu kullandığınız ve nazik sözleriniz için hepinize teşekkür ederim :-). @MarioTacke - evet, biliyorum, ama iisexpress-proxy olarak adlandırılırsa daha fazla insan sadece google-ing ile bulabilir
Ionut-Cristian Florescu

1
Btw, bu Windows kimlik doğrulaması ile çalışmaz.
Tom

35

Buna bir tezat olarak:

netsh http add urlacl url=http://vaidesg:8080/ user=everyone

Bu yalnızca Windows'un İngilizce sürümlerinde çalışır. Yerelleştirilmiş bir sürüm kullanıyorsanız, "herkes" i başka bir şeyle değiştirmeniz gerekir, örneğin:

  • Hollandaca versiyonu kullanılırken "Iedereen"
  • Almanca versiyonu kullanırken "Jeder"
  • Macarca sürümü kullanırken "Mindenki"

Aksi takdirde bir hata alırsınız (SDDL oluşturma başarısız, Hata: 1332)


33

İyi bir kaynak Geliştirme Süresinde SSL ile çalışmak Scott Hanselman'ın IISExpress'i ile daha kolaydır .

Neyin peşindesiniz, IIS Express'in 80 numaralı bağlantı noktasından harici olarak hizmet vermesini sağlama bölümü


Bu blog gönderisi, bağlantı noktası 80'in "IISExpressWeb.exe" olarak yalıtılmasını önerir. IIS Express'in geçerli sürümünde bu adda bir exe yok - yalnızca IISExpress.exe ve IISExpressTray.exe var. Bağlantıların ikisinden birine yalıtılması, dışarıdan bir bağlantıyı önler; işlem kısıtlamasının kaldırılması bağlantılara izin verir. Hedeflemek için uygun .exe nedir?
Chris Moschini

33

Visual Studio ile çalışıyorsanız, IP-Adress üzerinden IIS-Express'e erişmek için şu adımları izleyin:

  1. Ana bilgisayar IP Adresinizi alın: ipconfigWindows Komut Satırında
  2. GoTo

    $(SolutionDir)\.vs\config\applicationHost.config
  3. bulmak

    <site name="WebApplication3" id="2">
       <application path="/" applicationPool="Clr4IntegratedAppPool">
          <virtualDirectory path="/" physicalPath="C:\Users\user.name\Source\Repos\protoype-one\WebApplication3" />
       </application>
       <bindings>
         <binding protocol="http" bindingInformation="*:62549:localhost" />
       </bindings>
    </site>
  4. Ekle: <binding protocol="http" bindingInformation="*:62549:192.168.178.108"/>
    IP Adresinizle

  5. Visual Studio'nuzu Yönetici haklarıyla çalıştırın ve her şeyin çalışması gerekir
  6. Uzaktan kumandadan bağlanmaya çalışırsanız belki bazı güvenlik duvarı sorunları arayın

20

Visual Studio Professional 2015'te "Keyoti by Conveyor" kurulumu ile çözdüm. Konveyör, harici talebi etkinleştiren bir port (45455) ile bir UZAKTAN adresi (IP'niz) oluşturur. Misal:

resim açıklamasını buraya girin

Konveyör, ağınızdaki harici tabletlerden ve telefonlardan veya Android emülatörlerinden web uygulamaları ( http://10.0.2.2:<hostport> )

Adımlar aşağıdaki bağlantıdadır:

https://marketplace.visualstudio.com/items?itemName=vs-publisher-1448185.ConveyorbyKeyoti


@kilianeller lütfen cevaptaki bağlantıyı takip edin ve orada bir soru sorun, size yardımcı olabiliriz.
Jim W yeniden aktifleştirme Monica diyor

Workst !!, tüm diğer çözümü (changehost.config, netsh, IPv6 adresi ..) ve hiçbir şey kanıtlamak değil, ama bu nihayet yükleme çalışır, sadece küçük sorun IP adresini yanlış ama ciddi bir sorun oldu.
Ion

Kurulumu gerçekten kolay. Sertifikayı uzantının sayfasında belirtildiği şekilde uzak tarayıcınıza eklediğinizden emin olun.
Andres

İnanamıyorum, işe yarıyor !!! ÇOK BASİT, ÇOK ZARİF !!! Son 5 saatimi sadece boş çözümler aramak için harcadım ve sonunda bunu savundum!
Ziggy192

10

Albay Panic'in cevabını denediyseniz ancak Visual Studio'da çalışmıyorsa, şunu deneyin:

<binding />IIS Express yapılandırmanıza bir tane daha ekleyin

<bindings>
    <binding protocol="http" bindingInformation="*:8080:localhost" />
    <binding protocol="http" bindingInformation="*:8080:hostname" />
</bindings>

Son olarak, Visual Studio'yu Yönetici olarak çalıştırmalısınız


Ne yazık ki, bu benim için çalışmıyor gibi görünüyor .. Ben bağlantı 8080
Thomas Teilmann 7:15

@ThomasTeilmann, Visual Studio'da, web uygulamasının özelliklerini açmak zorunda kaldım ve Web sekmesi altında, yerel ana bilgisayar yerine alternatif ana bilgisayar adını kullanmak için "Proje URL'si" ni değiştirdim.
Sam

@ThomasTeilmann, Oh, ve sanırım IP yerine ana bilgisayar adına göre göz atmanız gerekiyor.
Sam

Aslında her ikisini de denedim ve bulut örneği için işe yaramadı: / Teşekkürler olsa da
Thomas Teilmann

Bu benim için cevaptı (yani VS yönetici olarak çalıştırın) - teşekkürler @Bruce. Ayrıca güvenlik duvarı ayarlarımı manuel olarak düzeltmek zorunda kaldım. Benim durumumda (yani, iphone'umun dev makineme göz atabildiğini test etmek) güvenlik duvarında 8080 numaralı bağlantı noktasını açmak işe yaramadı (ha?) ağ) hile yaptı.
Ilan

9

Bana yardımcı olan, 'IISExpress' simgesini, 'Tüm uygulamaları göster'i sağ tıklamaktı. Sonra web sitesini seçip hangi aplicationhost.config kullandığını gördüm ve düzeltme mükemmel gitti.

IISExpress yapılandırması


2
Bu cevap beni applicationhost.config dosyasını kabul ederek başka bir çözüme işaret etti: kabul etmek için : 55665: yerine *: 55665: localhost
Deko

Teşekkürler @Deko - Yorumunuz, birkaç cevapta belirtilen netsh komutu ile birleştiğinde, benim için çalıştı.
Marcel Popescu

8

Hem http hem de https ile uzaktan erişimi etkinleştirmek için Windows 10 için Visual Studio 2015 ile yaptığım şey:

İlk adım uygulamanızı dahili IP adresinize bağlamaktır. Adresi almak için cmd-> komutunu çalıştırın ipconfig. Dosyayı açın ve şöyle bir /{project folder}/.vs/config/applicationhost.configşey bulana kadar aşağı kaydırın:

<site name="Project.Web" id="2">
    <application path="/">
        <virtualDirectory path="/" physicalPath="C:\Project\Project.Web" />
    </application>
    <bindings>
        <binding protocol="http" bindingInformation="*:12345:localhost" />
    </bindings>
</site>

Altına iki yeni cilt ekleyin bindings. İsterseniz HTTPS'yi de kullanabilirsiniz:

<binding protocol="http" bindingInformation="*:12345:192.168.1.15" />
<binding protocol="https" bindingInformation="*:44300:192.168.1.15" />

Güvenlik duvarınıza aşağıdaki kuralı ekleyin, cmdyönetici olarak yeni bir istem açın ve aşağıdaki komutları çalıştırın:

netsh advfirewall firewall add rule name="IISExpressWeb" dir=in protocol=tcp localport=12345 profile=private remoteip=localsubnet action=allow

netsh advfirewall firewall add rule name="IISExpressWebHttps" dir=in protocol=tcp localport=44300 profile=private remoteip=localsubnet action=allow

Şimdi Visual Studio'yu başlatın Administrator. Web projeleri proje dosyasına sağ tıklayın ve seçin Properties. Git Websekmesi ve tıklayın Create Virtual Directory. Visual Studio Yönetici olarak çalıştırılmazsa, büyük olasılıkla başarısız olur. Şimdi her şey çalışmalı.

resim açıklamasını buraya girin


Benim için çalıştı! :) Burada da güzel bir yazı var: blog.kloud.com.au/2017/02/27/…
Leniel Maccaferri

Boşuna ngrok dahil her şeyi denedim. Bu ilk denemede çalıştı.
1919

5

Bu sorunun kabul edilen yanıtı, IIS Express'in webmatrix ile çalışmasını sağlamak için bir kılavuzdur. VS 2010 ile çalışmaya çalışırken bu kılavuzu daha kullanışlı buldum .

Az önce 3. ve 4. adımları izledim (IIS Express'i yönetici olarak çalıştırıyorum) ve güvenlik duvarımı geçici olarak devre dışı bırakmak zorunda kaldım.


Visual Studio'dan hata ayıklama yeteneğini kaybetmek için bağladığınız talimatlar, en azından benim görüşüme göre anlamsız hale geliyor - IIS'yi veya başka bir uzak sunucuyu kullanmak daha iyi veya daha iyi olurdu (çünkü en azından IIS'de uzaktan hata ayıklamayı ayarlayabilirsiniz). IIS Express, localhost olmadan çalıştırmak için yönetici ayrıcalıkları gerektirmiyorsa, bu sadece işe yarardı. Çok sinir bozucu.
Chris Moschini

Tam da aradığım şey buydu - teşekkürler! IIS Express'i Visual Studio 2010 ile kullanıyorum ve LAN'ımda bir ASP.NET MVC3 uygulamasını test edeceğim ve bunun çalışması için gerekli olan buydu :)
Lasse Christiansen

5

IIS Express yapılandırmanızı değiştirmeye çalışmak, yeni HTTP.sys kuralları eklemek veya Visual Studio'yu Yönetici olarak çalıştırmak yerine bağlantı noktası iletmeyi ayarlamayı deneyebilirsiniz.

Temel olarak IP:PORT, web sitenizin çalıştığı makinenizdeki başka bir boş bağlantı noktasına iletmeniz gerekir , ancak yerel ana bilgisayara değil, harici ağ adaptörüne.

Mesele şu ki, IIS Express (en azından Windows 10'da) [::1]:portIPv6 bağlantı noktasında dinlediği anlamına gelir. Bunu dikkate almanız gerekir.

Bu işi şu şekilde yaptım - http://programmingflow.com/2017/02/25/iis-express-on-external-ip.html

Umarım yardımcı olur.


Windows 10 çalıştırıyorum ve localhost IPv6'ya bağlanmak anahtar oldu. Teşekkürler!
TomaszGuzialek

Yapılandırmaya çalıştığım bilgisayarın başka bir yerel adresi vardı. "Local-dev" olarak adlandırıldı. Sadece çalışmak için v4tov6 listenport = 3000 connectaddress = local-dev connectport = 60000 eklemek zorunda kaldı. Harika gönderi, teşekkürler!
Anika

4

Bulduğum en basit ve en havalı yol kullanmaktı (kurulum 2 dakika sürüyor):

https://ngrok.com/

Localhost üzerinde çalışan herhangi bir şeyle çalışacaktır. Sadece kayıt olun, biraz yorucu çalışın ve localhost'ta ne çalıştırırsanız çalışın, her yerden erişebileceğiniz genel URL alır.

Bu, uzak ekip arkadaşlarınıza bir şeyler göstermek için iyidir, IIS kurulumu veya güvenlik duvarları ile uğraşmak gerekmez. Erişimi durdurmak istiyorum sadece yürütülebilir sonlandırmak.

ngrok authtoken xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

ngrok http -host-header=localhost 89230

89230'un IIS Express bağlantı noktanız olduğunu varsayarsak

Ücretsiz planda bile birden fazla bağlantı noktası çalıştırabilirsiniz


1
Bir çözüm bulana kadar bu kadar çok cevap okumak zorunda kalacağımı kim düşünür ...
alexkovelsky

3

Win 8.1 ve dış istek IIS Express kullanarak bazı sorunlar var.

Dış istekte hata ayıklamak için şu adımları izleyin:

  1. IIS'yi yükleyin
  2. Visual Studio'yu yerel IIS kullanacak şekilde yapılandırma (Web Projenizdeki Sayfa özellikleri)
  3. Uygulamamla çalışmak için IIS'de özel bir AppPool oluştur
  4. Projemde Oracle Client kullanıyorum ve 32 bit (64 bit Visual Studio ile çalışmaz) olmalıdır, o zaman Uygulama Havuzunda 32 bit'e izin vermeliyim
  5. Windows güvenlik duvarını 80 numaralı bağlantı noktasındaki isteğe izin verecek şekilde yapılandırın (gelen kurallar)

İşe yarıyor!


2

Visual Studio'yu Yönetici'den çalıştırırsanız,

<binding protocol="http" bindingInformation="*:8080:*" />

veya

<binding protocol="https" bindingInformation="*:8443:*" />

içine

%userprofile%\My Documents\IISExpress\config\applicationhost.config

1
Bu yapılandırmayı uyguladım $(SolutionDir).vs\config\applicationHost.configve uygulamanın güvenlik bağlantı noktasını (8443) Windows güvenlik duvarında açmak zorunda kaldım.
Tonatio

2

Ben sadece hata ayıklama bağlantı noktasına bir yeniden yazma kuralı oluşturulmuş bir yerel IIS etkin vardı ... Ben bu geliştirmenin bir kez kaldırılması daha kolay çünkü diğer yöntemden daha iyi ve daha serin olduğunu düşünüyorum ... Yeniden yazma nasıl görünüyor. .

<rewrite>
    <rules>
        <rule name="ReverseProxyInboundRule1" stopProcessing="true">
            <match url="^dev/(.*)" />
            <action type="Rewrite" url="http://localhost:47039/{R:1}" />
        </rule>
    </rules>
</rewrite>

VS ayrıca yerel IIS kullanarak doğrudan geliştirmenize izin verir (daha sonra uzak bağlantılara izin verir), ancak sırayla her zaman bir yönetici olarak çalıştırmanız gerekir ... Bunu sevmiyorum.


Bu da benim en sevdiğim çözüm, teşekkürler :) Sadece önce IIS için Ters Proxy etkinleştirmek, sonra bu kuralı benim web.config için eklemek zorunda kaldı.
Mehdi Ghiasi

1

Bu sorunu ters proxy yaklaşımı kullanarak çözdüm.

Wamp sunucusunu kurdum ve apache web sunucusunun basit ters proxy özelliğini kullandım.

Apache web sunucusunu (8081) dinlemek için yeni bir port ekledim. Sonra o bağlantı noktası için sanal ana makine olarak proxy yapılandırması ekledim.

<VirtualHost *:8081>
ProxyPass / http://localhost:46935/
ProxyPassReverse / http://localhost:46935/
</VirtualHost>

1

Tüm bu adımları attım ve hiçbir şey bana yardımcı olmadı. Ve ihtiyacım olan şey, sadece uygulamamı IIS Express ile çalıştırmak ...

resim açıklamasını buraya girin

Umarım yardımcı olur.


0

Yerel ağımdaki diğer kullanıcılara iis isteklerini sunamadım, tek yapmam gereken (yukarıdakilere ek olarak) BT Hub yönlendiricimi yeniden başlatmaktı.


0

Bu delicesine harika ve hatta güzel alan adları ile HTTPS'yi kapsar:

http://www.hanselman.com/blog/WorkingWithSSLAtDevelopmentTimeIsEasierWithIISExpress.aspx

Yukarıdaki bağlantı hiç kaybolması durumunda SO üzerinde başka bir yerde bulamadığım gerçekten harika parçalar:

> C:\Program Files (x86)\IIS Express>IisExpressAdminCmd.exe Usage:
> iisexpressadmincmd.exe <command> <parameters> Supported commands:
>       setupFriendlyHostnameUrl -url:<url>
>       deleteFriendlyHostnameUrl -url:<url>
>       setupUrl -url:<url>
>       deleteUrl -url:<url>
>       setupSslUrl -url:<url> -CertHash:<value>
>       setupSslUrl -url:<url> -UseSelfSigned
>       deleteSslUrl -url:<url>
> 
> Examples: 1) Configure "http.sys" and "hosts" file for friendly
> hostname "contoso": iisexpressadmincmd setupFriendlyHostnameUrl
> -url:http://contoso:80/ 2) Remove "http.sys" configuration and "hosts" file entry for the friendly  hostname "contoso": iisexpressadmincmd
> deleteFriendlyHostnameUrl -url:http://contoso:80/

Yukarıdaki yardımcı program sizin için SSL sertifikasını kaydedecektir! -UseSelfSigned seçeneğini kullanırsanız, bu çok kolaydır.

İşleri zor bir şekilde yapmak istiyorsanız, belli olmayan kısım HTTP.SYS'ye hangi sertifikanın kullanılacağını söylemeniz gerekir:

netsh http add sslcert ipport=0.0.0.0:443 appid={214124cd-d05b-4309-9af9-9caa44b2b74a} certhash=YOURCERTHASHHERE

Certhash, MMC'deki sertifika özelliklerinden alabileceğiniz "Parmak İzi" dir.


0

Aşağıdakileri yaptım ve bağlanabildim:

1) IIS Express Config Bağlamasını Yerel Ana Bilgisayardan '*' Olarak Değiştirdi

bağlama protokolü = "http" bağlamaInformation = "*: 8888: *"

2) Protokol türü için belirli bir bağlantı noktasına izin vermek üzere güvenlik duvarında gelen gelen kuralı: tcp

3) Bağlantı noktanıza ağ yapılandırması eklemek için aşağıdaki komutu ekleyin: netsh http add urlacl url = http: // *: 8888 / kullanıcı = herkes


Bu soruya sorulduktan 6 yıl sonra geldiğiniz ve zaten 12 yanıt daha bulunduğundan, yanıtınızın diğer 12'den (veya en azından nasıl daha iyi çalıştığını) açıklamak için cevabınızı düzenlediyseniz en iyisi olacaktır . farklı).
Heretic Maymun

0

Dış isteklere erişmenin başka bir yolu da IIS Express yerine IIS kullanmaktır. Görsel stüdyomda kolayca geçiş yapabiliyorum.

resim açıklamasını buraya girin


VS2019 kullanıyorum.
PJ3

-1

[proje özellikleri iletişim kutusu]

VisualStudio 2017 ve NetCore API projesini kullanarak geliştirme için:

1) Cmd-Box: IP adresini belirlemek için ipconfig / all

2a) Alınan IP adresini Proje özelliklerine girin-> Hata Ayıklama Sekmesi

2b) Bir Bağlantı Noktası seçin ve bunu adım 2a'dan IP adresine ekleyin.

3) Seçili Bağlantı Noktasında gelen TCP trafiğine izin vermek için güvenlik duvarına bir izin kuralı ekleyin (güvenlik duvarım bir iletişim kutusuyla tetiklendi: "Güvenlik duvarına kural ekle veya engelle"). Bu durumda irade ekleyin hile yapmak.

Yukarıdaki çözümün dezavantajı:

1) Dinamik bir IP adresi kullanıyorsanız, başka bir IP adresi atanmış olması durumunda yukarıdaki adımları tekrarlamanız gerekir.

2) Sunucunuzda unutabileceğiniz açık bir Bağlantı Noktası var, ancak bu açık bağlantı noktası istenmeyen konuklar için bir davet olmaya devam ediyor.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.