Ağımdaki diğer makinelerde IIS tarafından barındırılan sitemi görüntüleme


102

Evde 2 makineden oluşan basit bir ağ kurulumum var.

Bir makinede IIS7 ile barındırılan bir sitem var. Dosyaya standart localhost/index.htmadres yerine HOSTSyerel IP'yi (127.0.0.1) bu etki alanına gösteren bir girdi ekledim -www.mysite.dev .

Siteye şununla erişebilirim www.mysite.dev .

yapmak istediğim şey, bu siteyi ağdaki diğer makinemden görebilmek.

Başlangıçta bunun böyle bir URL ile yapılabileceğini varsaydım MACHINE-NAME/www.mysite.dev, ancak bağlantı her zaman zaman aşımına uğradı. Ama sorunsuz ping atabilirim MACHINE-NAME.

Test amacıyla, her iki makinede de Windows güvenlik duvarını devre dışı bıraktım ama neşe duymadım.

Tipik bir web geliştiricisi gibi, donanım / ağ becerilerim oldukça zayıf.

Nerede yanlış yaptığımı kimse görebilir mi?


MAKİNE ADI'na bağlanmayı denediniz mi?
Lazarus

Yanıtlar:


155

Diğerlerinin dediği gibi, Güvenlik Duvarınızın 80 numaralı TCP Bağlantı Noktası üzerinden gelen aramaları kabul edecek şekilde yapılandırılması gerekir .

7+ galibiyette (kolay sihirbazlık yolu)

  1. gelişmiş güvenlik ile Windows güvenlik duvarına gidin
  2. Gelen kurallar -> İşlem -> Yeni Kural
  3. seçmek Önceden tanımlanmış radyo düğmesini ve ardından son öğeyi seçin - World Wide Web Hizmetleri (HTTP)
  4. İleri'ye tıklayın ve sonraki adımları olduğu gibi bırakın ( bağlantıya izin verin )

  • Çünkü giden (dış dünyaya sunucudan) trafiğine izin verilir varsayılan tarafından örnek http yanıtları için .it aracı web sunucusu dışındaki kullanıcılar ve isteklerini geri gönderdiğini

  • Ancak gelen trafik (dış dünyadan sunucuya gelen), varsayılan olarak web sunucusuna erişemeyen tarayıcılarından gelen kullanıcı web istekleri gibi varsayılan olarak engellenir ve açmanız gerekir.

Ayrıca bu sayfada gelen ve giden kurallara daha yakından bakabilirsiniz.


Hala çalışmıyorsa, en azından geliştirme ortamı için güvenlik duvarını kapatabilirsiniz.
USER_NAME

@Contristo, tam olarak düşüncelerim :)
Bryan Rayner

1
@hitesh, yalnızca güvenlik duvarınızı açık olan 80 numaralı bağlantı noktasını açmanız gerekir. Bağlantı noktası ekleme izniniz bile yoksa, genellikle ilgili destek ekibinden bu sunucu için bu bağlantı noktasını sizin için açmasını istemeniz gerekir
Iman

1
@Hitesh: Sitenizi 80 dışındaki bağlantı noktasında barındırabilir ve yalnızca sizin için bu bağlantı noktasına izin verebilirsiniz. Nasıl yapılacağına dair aşağıdaki cevabıma bakın.
Syed Ali Taqi

1
Gelişmiş Güvenlik Özellikli Windows Güvenlik Duvarı'na hızlı erişim: Win + R sonra yazın mmc.exe wf.msc.
mekb

35

Web sitesini 4321 gibi IIS'de belirli bir bağlantı noktasında barındırıyorsanız , bu bağlantı noktasına Windows Güvenlik Duvarı üzerinden de izin vermeniz gerekir. İşte benim için çalışmasını sağlamak için imanabidi'nin cevabıyla birlikte izlediğim adımlar :

  1. Windows Güvenlik Duvarı> Gelişmiş ayarlar
  2. Gelen Kuralları> Yeni Kural
  3. Bağlantı Noktası> İleri'yi seçin
  4. Belirli yerel bağlantı noktaları> İzin vermek istediğiniz Bağlantı Noktasını ekleyin
  5. Tüm Bağlantılara İzin Ver
  6. Daha sonra hatırlayabilmeniz için bir ad ve açıklama girin
  7. Bitti

10

Öncelikle, sunucunuzun LAN IP'sine bağlanmayı deneyin. IIS yalnızca bir web sitesi ile kurulursa, sitenizin açılma olasılığı yüksektir.

İsme göre erişmek istiyorsanız, siteyi görüntülemek istediğiniz her istemci bilgisayarın HOSTS dosyasına bir giriş eklemeniz gerekir (açıkça 127.0.0.1'e değil, sunucunuzun yerel IP adresine).

Ayrıca, Güvenlik Duvarınızın 80 Bağlantı Noktası üzerinden gelen aramaları kabul edecek şekilde yapılandırılması gerekir.

Bu genellikle "mysite.dev" gibi isimleri ana bilgisayar dosyalarıyla uğraşmak zorunda kalmadan merkezi olarak kaydedebileceğiniz bir DNS hizmeti kurmanın daha mantıklı olduğu noktadır. Ancak bu farklı bir hikaye ve superuser.com veya serverfault.com'a ait.


1
Güvenlik duvarı buradaki en önemli kısımdır.
Pierre

6

Güvenlik duvarı ayarlarını açın. Ardından, - Programın veya özelliğin güvenlik duvarından geçmesine izin ver gibi bir şey arayın. Listede World Wide Web hizmetleri (HTTP) işaretli değilse, kontrol edin ve sistemi yeniden başlatın.

Makinemiz gelen istekleri kabul edecek şekilde ayarlanmıştır.


3

Çok Geç Cevap, ancak yıllar önce IIS sitemi ağ üzerinde kurarken bununla uğraşmak zorunda kaldığım bir noktayı vurgulayacağım

  1. Her iki makineniz de aynı ağa bağlı olmalıdır (aynı kablosuz ağ iyidir)
  2. Uzak makinenize IP üzerinden erişin 168.192.x.x veya üzerindenhttp://his-pc-name (http bölümünü unutmayın)
  3. Bu, uzak makinedeki varsayılan IIS sayfasını sunacaktır (localhost aracılığıyla sunulanla aynı). Başka bir siteye sunuculuk yapmak istiyorsanız, önce [bu varsayılanı yapmanız gerekir] 1 .

localhostVarsayılan siteye hangisinin sunulması gerektiğini kontrol ederek IIS'nizin uzak makinede düzgün çalıştığından emin olun . Ayrıca güvenlik duvarınızın 80 numaralı bağlantı noktası üzerinden bağlantıya izin verecek şekilde yapılandırıldığından emin olun veya şu an için yalnızca test amacıyla güvenlik duvarını devre dışı bırakabilirsiniz.


İş istasyonu adım yerine IP kullanmak işe yaradı. Şerefe!
hatsrumandcode

3

Güvenlik duvarınızı değiştirmenin yanı sıra, bağlantı noktası bağlama eklemeyi de unutmayın!

$(SolutionDir)\.vs\config\applicationHost.configBağlayıcı tanımları açın ve bulun, böyle bir şey olmalı

<sites>
    <site name="Samples.Html5.Web" id="1">
        <application path="/" applicationPool="Clr4IntegratedAppPool">
            <virtualDirectory path="/" physicalPath="C:\Git\Samples.Html5.Web" />
        </application>
        <bindings>
            <binding protocol="http" bindingInformation="*:63000:localhost" />
        </bindings>
    </site>
    ...
</sites>

Makinenizin IP adresini ve belirlenmiş bağlantı noktasını yansıtmak için fazladan satır eklemeniz yeterli

<bindings>
    <binding protocol="http" bindingInformation="*:63000:localhost" />
    <binding protocol="http" bindingInformation="*:63000:10.0.0.201" />
</bindings>

Kaynak: https://blog.falafel.com/expose-iis-express-site-local-network/


2
Port Bağlama benim için önemli bir adımdı! Varsayılan olarak IP adresi üzerinden erişime izin vermeyen IIS Express kullanıyordum (yalnızca localhost). Yani bu adım olmadan, daha yüksek puan alan cevaplar benim için işe yaramayacaktı!
JonoB

2
 Control Panel>System and Security>Windows Firewall>Allowed Programs-> then check all " World Wide Web Services(Http) tab". 

Benim için çalıştı


2

Geç olabilir, ancak gelecekte böyle bir sorunla karşılaşabilecek herhangi bir kişi için, sunucuya yapmak istediğiniz herhangi bir bağlantı için (bu durumda, web uygulamasını barındıran makine, iis veya xampp olmasına bakılmaksızın) siz güvenlik duvarında kullanılacak belirli bağlantı noktası üzerinden bağlantıya veya trafiğe izin verilmesi gerekir

1. Go to Windows Firewall -> Advanced settings
2. Click Inbound Rules -> Then New Rule
3. Select Port -> Next
4. Specific local ports -> Add the Port you want to allow
5. Allow All Connections
6. Enter a name and a description for to help you remember later on

ve sen yaptın


1

Antivirüs yükledikten sonra bu sorunla karşılaştım ve güvenlik duvarımın otomatik olarak açık olduğunu fark ettim, Şimdi sadece güvenlik duvarını kapattım ve sorunumu çözdüm. Umarım birine yardımcı olur :)


0

127.0.0.1 her zaman localhost'u işaret eder. Ev ağınızda, internet yönlendiriciniz tarafından atanmış bir IP adresiniz olmalıdır (dsl / cablemodem / her neyse). Web sitenizi bu adrese bağlamanız gerekiyor. Daha sonra web sitesine ulaşmak için makine adını kullanabilmeniz gerekir, ancak söz konusu istemci bilgisayarın ana bilgisayar dosyasını o bilgisayarda belirli bir adı işaret edecek şekilde düzenlemenizi gerçekten tavsiye ederim. Hosts dosyası c: \ windows \ system32 \ drivers \ etc \ hosts (not defteri kullanın) konumunda bulunabilir ve giriş şöyle görünür:

192.168.1.1     mycomputername

@JenishZinzuvadiya: Ne? Yorumunuz mantıklı değil.
Joel Etherton

-1

Aşağıdaki adımları yapmanız gerekir.

IIS'ye gidin ->
Siteler->
Web sitenize tıklayın ->
Eylemde İzinleri Düzenle'ye tıklayın ->
Güvenlik ->
EKLE'ye tıklayın ->
Gelişmiş ->
Şimdi Bul -> İçindeki
tüm kullanıcıları ekle ->
ve tüm izinleri verin diğer kullanıcılara ->
Tamam'a tıklayın.

Yukarıdakileri doğru bir şekilde yaparsanız, web sitenize etki alanınızı kullanarak erişebilirsiniz.
Öneri - Sitenize ana bilgisayar adı eklemeyin, bazen sorun yaratır. Bu yüzden lütfen makinenizin ip adresini kullanarak web sitenizi barındırın.

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.