it-swarm.asia

عرض بلدي IIS موقع مستضاف على أجهزة أخرى على شبكتي

في المنزل لدي إعداد شبكة بسيط يحتوي على جهازين.

على جهاز واحد لدي موقع مستضاف مع IIS7. بدلاً من عنوان localhost/index.htm القياسي أضفت إدخالًا في الملف HOSTS يشير إلى عنوان IP المحلي (127.0.0.1) إلى هذا المجال - www.mysite.dev.

يمكنني الوصول إلى الموقع باستخدام www.mysite.dev دون أي مشكلة.

ما أود القيام به هو أن أكون قادرًا على عرض هذا الموقع من جهازي الآخر على الشبكة.

في البداية افترضت أن هذا يمكن أن يتم باستخدام عنوان URL مثل MACHINE-NAME/www.mysite.dev ، لكن الاتصال دائمًا ما ينتهي. ولكن يمكنني ping MACHINE-NAME دون مشاكل.

لأغراض الاختبار ، قمت بتعطيل جدار حماية النوافذ على كلا الجهازين ولكن دون فرح.

مثل مطور الويب النموذجي ، فإن مهارات الأجهزة/الشبكة الخاصة بي سيئة للغاية.

يمكن لأي شخص أن يرى أين أنا على خطأ؟

94
Truegilly

كما قال آخرون ، يجب تهيئة "جدار الحماية" الخاص بك على قبول المكالمات الواردة on TCP المنفذ 80 .

في فوز 7+ (طريقة سهلة المعالج)

  1. انتقل إلى جدار حماية Windows مع الأمان المتقدم
  2. القواعد الواردة -> الإجراء -> قاعدة جديدة
  3. حدد تم تحديده مسبقًا زر الاختيار ، ثم حدد العنصر الأخير - خدمات الويب العالمية (HTTP)
  4. انقر فوق التالي واترك الخطوات التالية كما هي (السماح بالاتصال)

  • لأن الصادرة حركة المرور (من الخادم إلى العالم الخارجي) يسمح افتراضيا .it يعني على سبيل المثال ردود HTTP التي يرسلها خادم الويب إلى المستخدمين الخارجيين والطلبات

  • ولكن الواردة حركة المرور (الناشئة من العالم الخارجي إلى الخادم) يتم حظر بشكل افتراضي مثل طلبات الويب الخاصة بالمستخدم التي تنشأ من المستعرض الذي لا يمكن الوصول إلى خادم الويب بشكل افتراضي ويجب عليك فتحه .

يمكنك أيضًا إلقاء نظرة فاحصة على القواعد الواردة والصادرة في هذه الصفحة

147
Iman Abidi

إذا كنت تستضيف موقعًا إلكترونيًا على منفذ معين في IIS like 4321 فأنت بحاجة إلى السماح لهذا المنفذ من خلال جدار حماية Windows أيضًا. إليك الخطوات التي اتبعتها معإجابة imanabidiلجعلها تعمل من أجلي:

  1. جدار حماية Windows> الإعدادات المتقدمة
  2. القواعد الواردة> قاعدة جديدة
  3. حدد منفذ> التالي
  4. (منافذ محلية محددة> أضف المنفذ الذي تريد السماح به
  5. السماح بجميع الاتصالات
  6. أدخل اسمًا وبعض الوصف حتى تتذكره لاحقًا
  7. فعله
30
Syed Ali Taqi

أولاً وقبل كل شيء ، حاول الاتصال بشبكة LAN IP الخاصة بخادمك. إذا تم إعداد IIS مع موقع ويب واحد فقط ، فمن المحتمل أن يظهر موقعك.

إذا كنت ترغب في الوصول إليه بالاسم ، فسيتعين عليك إضافة إدخال في ملف HOSTS لكل جهاز كمبيوتر عميل ترغب في عرض الموقع به (ليس إلى 127.0.0.1 بشكل واضح ، ولكن إلى عنوان IP المحلي لخادمك).

أيضًا ، يجب تهيئة جدار الحماية الخاص بك لقبول المكالمات الواردة على المنفذ 80.

هذه هي النقطة التي يكون من المنطقي فيها إعداد خدمة DNS بحيث يمكنك تسجيل أسماء مثل "mysite.dev" مركزيًا ، دون الاضطرار إلى المشاركة في ملفات المضيفين. ولكن هذه قصة مختلفة ، وتنتمي إلى superuser.com أو serverfault.com.

8
Pekka 웃

افتح إعدادات جدار الحماية. ثم ابحث عن شيء مثل - السماح للبرنامج أو الميزة بالسماح من خلال جدار الحماية. إذا لم يتم تحديد خدمات World Wide Web (HTTP) في القائمة ، فتحقق من ذلك وأعد تشغيل النظام.

تم تعيين الجهاز لدينا جميع لقبول الطلبات الواردة.

6
Harika Kakkireni

إجابة متأخرة للغاية ولكنني سأسلط الضوء على نقطة ما حيث كان علي التعامل معها قبل سنوات بإعداد موقعي IIS عبر الشبكة

  1. يجب توصيل كلا الجهازين بنفس الشبكة (نفس الشبكة اللاسلكية جيدة)
  2. الوصول إلى جهازك البعيد عبر IP 168.192.x.x أو عبر http://his-pc-name (لا تنس الجزء المتشعب)
  3. سيؤدي ذلك إلى خادم الصفحة الافتراضية IIS على الجهاز البعيد (يتم تقديم نفس الشيء من خلال المضيف المحلي). إذا كنت ترغب في خادم موقع آخر ، [يجب عليك إجراء هذا الإعداد الافتراضي] أولاً 1 .

تأكد من أن IIS تعمل بشكل جيد على الجهاز البعيد عن طريق التحقق من localhost الذي يجب أن يخدم الموقع الافتراضي. تأكد أيضًا من تكوين جدار الحماية للسماح بالاتصال عبر المنفذ 80 أو يمكنك فقط تعطيل جدار الحماية في الوقت الحالي لأغراض الاختبار.

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

انها عملت بالنسبة لي

2
Santhosh Legent

بعد تثبيت برنامج مكافحة الفيروسات ، واجهت هذه المشكلة ولاحظت أن جدار الحماية الخاص بي يعمل تلقائيًا على تشغيل ، والآن أقوم فقط بإيقاف تشغيل جدار الحماية وحل المشكلة. آمل أن تساعد شخص :)

1
Bhavin Chauhan

بالإضافة إلى تعديل جدار الحماية الخاص بك ، لا تنسَ إضافة ربط المنفذ أيضًا!

افتح $(SolutionDir)\.vs\config\applicationHost.config وابحث عن تعريفات ملزمة ، يجب أن يكون شيء مثل هذا

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

فقط أضف خطوطًا إضافية لتعكس عنوان IP لجهازك والمنفذ المخصص

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

المصدر: https://blog.falafel.com/expose-iis-express-site-local-network/

1
Korayem

قد يكون الوقت متأخرًا ، ولكن بالنسبة لأي شخص آخر قد يواجه مثل هذه المشكلة في المستقبل ، عن أي اتصالات تريد إجراؤها على الخادم (في هذه الحالة ، الجهاز الذي يستضيف تطبيق الويب ، بغض النظر عما إذا كان iis أو xampp) تحتاج إلى السماح بالاتصال أو حركة المرور من خلال منفذ معين والتي سيتم استخدامها في جدار الحماية

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

وانت فعلت

1
Antoh

127.0.0.1 يشير دائمًا إلى المضيف المحلي. على شبكتك المنزلية ، يجب أن يكون لديك عنوان IP معين بواسطة موجه الإنترنت الخاص بك (dsl/cablemodem/مهما كان). تحتاج إلى ربط موقع الويب الخاص بك بهذا العنوان. يجب أن تكون قادرًا بعد ذلك على استخدام اسم الجهاز للوصول إلى موقع الويب ، لكنني أوصي بالفعل بتحرير ملف hosts للكمبيوتر العميل المعني للإشارة إلى اسم محدد على ذلك الكمبيوتر. يمكن العثور على ملف hosts على c:\windows\system32\drivers\etc\hosts (استخدم المفكرة) وسيبدو الإدخال كما يلي:

192.168.1.1     mycomputername
0
Joel Etherton