Melihat situs yang dihosting IIS saya di komputer lain di jaringan saya

101

Di rumah saya memiliki pengaturan jaringan sederhana yang berisi 2 mesin.

Di satu mesin saya memiliki situs yang dihosting dengan IIS7. Daripada localhost/index.htmalamat standar, saya telah menambahkan entri di HOSTSfile yang menunjukkan IP lokal (127.0.0.1) ke domain ini - www.mysite.dev.

Saya dapat mengakses situs ini www.mysite.devtanpa masalah.

yang ingin saya lakukan adalah dapat melihat situs ini dari komputer saya yang lain di jaringan.

Awalnya saya berasumsi ini bisa dilakukan dengan URL seperti itu MACHINE-NAME/www.mysite.dev, tetapi koneksi selalu habis. Tapi saya bisa melakukan ping MACHINE-NAMEtanpa masalah.

Untuk tujuan pengujian saya telah menonaktifkan firewall windows di kedua mesin tetapi tidak ada kesenangan.

Seperti pengembang web pada umumnya, keterampilan perangkat keras / jaringan saya sangat buruk.

Adakah yang bisa melihat kesalahan saya?

Truegilly
sumber
Sudahkah Anda mencoba menyambungkan ke MACHINE-NAME ?
Lazarus

Jawaban:

155

Seperti yang dikatakan orang lain, Firewall Anda perlu dikonfigurasi untuk menerima panggilan masuk pada TCP Port 80 .

dalam menang 7+ (cara sihir mudah)

  1. pergi ke firewall windows dengan keamanan lanjutan
  2. Aturan Masuk -> Tindakan -> Aturan Baru
  3. pilih tombol radio standar dan kemudian pilih item terakhir - World Wide Web Services (HTTP)
  4. klik berikutnya dan biarkan langkah berikutnya sebagaimana adanya ( izinkan koneksi )

  • Karena lalu lintas keluar (dari server ke dunia luar) diizinkan secara default . Itu berarti misalnya tanggapan http yang dikirim server web kembali ke pengguna dan permintaan luar

  • Tetapi lalu lintas masuk (yang berasal dari dunia luar ke server) diblokir secara default seperti permintaan web pengguna yang berasal dari browser mereka yang tidak dapat mencapai server web secara default dan Anda harus membukanya.

Anda juga dapat melihat lebih dekat aturan masuk dan keluar di halaman ini

Iman
sumber
Jika masih tidak berhasil, maka Anda dapat mematikan firewall itu sendiri, setidaknya untuk lingkungan pengembangan.
USER_NAME
@Contristo, sentimen saya persis :)
Bryan Rayner
1
@hitesh, Anda hanya perlu membuka port 80 melalui firewall yang dihidupkan. jika Anda bahkan tidak memiliki izin untuk menambahkan port, Anda biasanya harus meminta tim dukungan terkait untuk membuka port ini untuk server ini untuk Anda
Iman
1
@Hitesh: Anda dapat meng-host situs Anda pada porta selain 80 dan hanya mengizinkan port itu untuk Anda. Lihat jawaban saya di bawah ini tentang cara melakukannya.
Syed Ali Taqi
1
Akses cepat ke Windows Firewall dengan Advanced Security: Win + R lalu ketik mmc.exe wf.msc.
facepalm42
35

Jika Anda menghosting situs web pada port tertentu di IIS seperti 4321, maka Anda juga harus mengizinkan port ini melalui Windows Firewall. Berikut adalah langkah-langkah yang saya ikuti bersama dengan jawaban imanabidi untuk membuatnya bekerja untuk saya:

  1. Windows Firewall> Pengaturan lanjutan
  2. Aturan Masuk> Aturan Baru
  3. Pilih Port> Berikutnya
  4. Porta lokal spesifik> Tambahkan Port yang ingin Anda izinkan
  5. Izinkan Semua Koneksi
  6. Masukkan nama dan deskripsi agar Anda mengingatnya nanti
  7. Selesai
Syed Ali Taqi
sumber
10

Pertama-tama, coba sambungkan ke IP LAN server Anda. Jika IIS diatur hanya dengan satu situs web, kemungkinan besar situs Anda akan muncul.

Jika Anda ingin mengaksesnya berdasarkan nama, Anda harus menambahkan entri di file HOSTS dari setiap PC klien yang ingin Anda lihat situsnya (jelas bukan 127.0.0.1, tetapi ke alamat IP lokal server Anda).

Selain itu, Firewall Anda perlu dikonfigurasi untuk menerima panggilan masuk pada Port 80.

Ini biasanya merupakan titik di mana lebih masuk akal untuk mengatur layanan DNS di mana Anda dapat mendaftarkan nama seperti "mysite.dev" secara terpusat, tanpa harus mencoba-coba dengan file host. Tapi itu cerita yang berbeda, dan milik superuser.com atau serverfault.com.

Pekka
sumber
1
Firewall adalah bagian terpenting di sini.
Pierre
6

Buka pengaturan firewall. Kemudian cari sesuatu seperti - Izinkan program atau fitur untuk diizinkan melalui firewall. Jika dalam daftar layanan World Wide Web (HTTP) tidak dicentang, periksa dan mulai ulang sistem.

Mesin kami siap untuk menerima permintaan masuk.

Harika Kakkireni
sumber
3

Jawaban Sangat Terlambat tetapi saya akan menyoroti beberapa hal karena saya harus menghadapinya bertahun-tahun yang lalu menyiapkan situs IIS saya di seluruh jaringan

  1. Kedua mesin Anda harus terhubung ke jaringan yang sama (jaringan nirkabel yang sama baik-baik saja)
  2. Akses mesin jarak jauh Anda melalui IP 168.192.x.xatau melalui http://his-pc-name(jangan lupa bagian http)
  3. Ini akan menjadi server halaman IIS default pada mesin jarak jauh (sama yang dilayani melalui localhost). Jika Anda ingin membuat server situs lain, [Anda harus menjadikan itu default] terlebih dahulu 1 .

Pastikan IIS Anda berfungsi dengan baik pada mesin jarak jauh dengan memeriksa situs localhostmana yang seharusnya melayani situs default. Pastikan juga firewall Anda dikonfigurasi untuk mengizinkan koneksi melalui port 80 atau Anda dapat menonaktifkan firewall untuk sementara waktu untuk tujuan pengujian.

Hammad Khan
sumber
Menggunakan IP alih-alih nama workstation saya berfungsi. Bersulang!
hatsrumandcode
3

Selain memodifikasi firewall Anda, jangan lupa untuk menambahkan pengikatan port juga!

Buka $(SolutionDir)\.vs\config\applicationHost.configdan temukan definisi yang mengikat, harus seperti ini

<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>

Cukup tambahkan baris tambahan untuk mencerminkan IP mesin Anda dan port yang ditentukan

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

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

Korayem
sumber
2
Port Binding merupakan langkah penting bagi saya! Saya menggunakan IIS Express yang tidak mengizinkan akses melalui alamat IP secara default (hanya localhost). Jadi tanpa langkah ini, jawaban yang berperingkat lebih tinggi tidak akan berhasil untuk saya!
JonoB
2
 Control Panel>System and Security>Windows Firewall>Allowed Programs-> then check all " World Wide Web Services(Http) tab". 

Ini berhasil untuk saya

Santhosh Legent
sumber
2

Mungkin terlambat, tetapi untuk orang lain yang mungkin mendapatkan masalah seperti itu di masa mendatang, untuk koneksi apa pun yang ingin Anda buat ke server (dalam hal ini mesin yang menghosting aplikasi web, terlepas dari apakah itu iis atau xampp) Anda perlu mengizinkan koneksi atau lalu lintas melalui port tertentu yang akan digunakan di firewall

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

dan Anda Selesai

Antoh
sumber
1

Setelah menginstal antivirus, saya menghadapi masalah ini dan saya perhatikan bahwa firewall saya secara otomatis aktif, Sekarang saya baru saja menonaktifkan firewall dan menyelesaikan masalah saya. Semoga ini akan membantu seseorang :)

Bhavin Chauhan
sumber
0

127.0.0.1 selalu mengarah ke localhost. Di jaringan rumah Anda, Anda harus memiliki alamat IP yang ditetapkan oleh router internet Anda (dsl / cablemodem / apa saja). Anda perlu mengikat situs web Anda ke alamat ini. Anda kemudian harus dapat menggunakan nama mesin untuk masuk ke situs web, tetapi saya akan merekomendasikan benar-benar mengedit file host dari komputer klien yang dimaksud untuk menunjukkan nama tertentu di komputer itu. File host dapat ditemukan di c: \ windows \ system32 \ drivers \ etc \ hosts (gunakan notepad) dan entri akan terlihat seperti:

192.168.1.1     mycomputername
Joel Etherton
sumber
@JenishZinzuvadiya: Apa? Komentar Anda tidak masuk akal.
Joel Etherton
-1

Anda harus melakukan langkah-langkah berikut.

Buka IIS ->
Situs->
Klik Situs Web Anda ->
Dalam Tindakan Klik Edit Izin ->
Keamanan ->
Klik TAMBAH ->
Lanjutan ->
Temukan Sekarang ->
Tambahkan semua pengguna di dalamnya ->
dan berikan semua izin ke pengguna lain ->
klik Ok.

Jika Anda melakukan hal-hal di atas dengan benar, Anda dapat mengakses situs web Anda dengan menggunakan domain Anda.
Saran - Jangan menambahkan nama host ke situs Anda kadang-kadang menimbulkan masalah. Jadi silakan host situs web Anda menggunakan alamat ip mesin Anda.

Rakesh Surve
sumber