الوصول إلى خادم تطوير ASP.NET من جهاز كمبيوتر آخر على الشبكة

StackOverflow https://stackoverflow.com/questions/1730280

سؤال

أرغب في اختبار تطبيق الويب الخاص بي في متصفحات أخرى. لقد قمت بتثبيت الكمبيوتر الظاهري للقيام بذلك. لا يسمح خادم Development ASP.NET بالاتصالات عن بعد بحيث لا يمكن للكمبيوتر الظاهري (كمبيوتر آخر على الشبكة) الوصول إلى الموقع الإلكتروني.

وجدت هذه المشاركة التي بدأت ولكن لم يكن هناك حل.

أنا أفهم أن استخدام LocalHost لن يعمل. سمعت عن استخدام IP الآلات، ولكن كيف يمكنني الحصول على هذا IP الصحيح؟ إلقاء نظرة على بلدي Lynksys راوتر المسؤول؟

إذا كنت سأحصل على IP الخاص بي، فأنا متأكد من أن خادم ASP.NET DEV لا يسمح بالاتصالات عن بعد. كيف يمكنني تمكينه من القيام بذلك؟

هل كانت مفيدة؟

المحلول

أنا صنع بعض التخمينات حول الإعداد الخاص بك هنا حتى تحمل مع:

إذا كان جهازك الافتراضي هو XP Professional، Vista Business أو Windows 7 Professional أو أفضل، فعندئذ يجب أن تكون قادرا على تشغيل IIS محليا على جهاز التطوير والوصول إلى خادم الويب الذي يكون على نفس الشبكة عبر اسم الجهاز الظاهري.

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

في كلتا الحالتين، لا تحاول استخدام خادم الويب المدمج من Visual Studio، فقط نشر موقعك إلى IIS والعمل معه بهذه الطريقة.

حظا سعيدا ونأمل أن يساعد هذا بعضا.

نصائح أخرى

الجواب هو: لا(*). لا يمكنك الوصول إلى خادم تطوير ASP.NET على جهاز واحد من آخر، حتى إذا قمت بفتح منفذ TCP جدار حماية Windows.

من مقالة MSDN "خوادم الويب في Visual Web Developer":

تم تصميمه خصيصا لخدمة أو تشغيل صفحات الويب ASP.NET ضمن سيناريو المضيف المحلي (التصفح من نفس الكمبيوتر كملقم الويب).

بمعنى آخر، سيقوم خادم تطوير ASP.NET بخدمة صفحات طلبات المستعرض على الكمبيوتر المحلي. لن تخدم الصفحات إلى كمبيوتر آخر. بالإضافة إلى ذلك، لن يخدم الملفات الموجودة خارج نطاق التطبيق.

(*) عليك تشغيل موقعك من IIS المثبتة محليا ... أو قم بالاختراق اللطيف باستخدام بعض المجالات المجانية الموصوفة في منشور المدونة هذا:

iPhone الوصول إلى خادم تطوير Visual Studio ASP.NET

يستخدم ميناء spi إلى الأمام لقبول اتصالات الجهاز القيام بما يلي:

اضبط "المنفذ المحلي" على رقم المنفذ الذي سيتصل به الجهاز، وأستطيع عادة استخدام 8080 من العادة
اضبط "المضيف البعيد" على localhost
اضبط "المنفذ البعيد" إلى منفذ ASP.NET DEV Server

انقر فوق الزر "تنشيط" لبدء قبول الاتصالات

(ملاحظة: تأكد من أنك بدأت البرنامج مع حقوق المسؤول)

إعداد Portforwarding باستخدام Rinetd
deatils هنا: http://blog.waynehartman.com/articles/218.aspx.

إجابة أخرى إذا كنت لا ترغب في استخدام IIS (أو الأنفاق): https://stackoverflow.com/a/12008223/1552178.

استخدم FIDLLER أو ما شابه ذلك على مضيفك - قم بتعيين متصفحك على عميل VM لاستخدام الوكيل، ثم استخدم LocalHost: dev_port كالعادة على العميل.

جميع الطلبات من العميل انتقل إلى الوكيل على جهاز DEV الخاص بك والتي تتوجه إلى LocalHost على جهاز Dev ويعتقد خادم ASP.NET DEV أن الطلب هو من جهاز Dev الخاص بك!

أنا أجب على هذا السؤال القديم لمساعدة الناس على عملها بدون IIS..

1. الخطوة الأولى

يجب عليك تنزيل العابث.

بمجرد تنزيل Fiddler وتثبيته، افتحه.

أدخل أدوات-> Fiddler Option-> Tab Tab-> وتحقق "السماح لأجهزة الكمبيوتر البعيدة بالاتصال" :

enter image description here

إعادة تشغيل fiddler.

2. الخطوة الثانية

بعد هذا، في الكمبيوتر الآخر على الشبكة أو VM, افتح Internet Explorer-> خيارات الإنترنت -> Tab Tab-> إعدادات LAN-> التحقق من "استخدام خادم وكيل ل LAN الخاص بك" :

enter image description here

  1. العنوان هو عنوان IP لجهاز Dev الخاص بك.
  2. ووضع المنفذ 8888

الآن، يمكنك الوصول إلى خادم Web ASP.NET من جهاز كمبيوتر آخر على الشبكة (ربما لديك، ومزيد من التكوين للقيام، مثل جدار الحماية، منفذ غير مقيد، إلخ، ولكن هذه بداية جيدة)!

للوصول إليها -> http://localhost.:54814.

  • لا تنس النقطة الإضافية بعد "المحلي"! (الكتابة فوق المحلية المحلية)
  • المنفذ، "54814" في حالتي، هو منفذ خادم ويب ASP.NET.

ملاحظة :

  • لاختبار ما إذا كان العمل الوكيل، يمكنك تجربة هذا: http://localhost.: 8888.
  • ربما نسيت الإشارة إلى بعض التكوينات، لكنها تعتمد دائما على البنية التحتية للشبكة.

حل العمل لنظام التشغيل Linux

يجب أن يعمل هذا إذا كنت تقوم بتشغيل خادم ASP.NET DEV على Windows في VM أو على مضيف آخر وتريد الوصول إليه من Linux

على الجهاز ويندوز

لسبب ما لا يمكنك الاتصال مباشرة بمنفذ خادم ASP.NET DEV، فأنت بحاجة إلى وكيل هو محليا أولا:

يستخدم ميناء spi إلى الأمام لقبول اتصالات الجهاز القيام بما يلي:

قم بتعيين "المنفذ المحلي" إلى رقم المنفذ الذي سيتصل فيه الجهاز، مثل مجموعة 8089 "المضيف البعيد" إلى LocalHost
اضبط "المنفذ البعيد" إلى منفذ ASP.NET DEV Server

انقر فوق الزر "تنشيط" لبدء قبول الاتصالات

(ملاحظة: تأكد من أنك بدأت البرنامج مع حقوق المسؤول)

على آلة لينكس

المنفذ المحلي إلى الأمام محليا 8089 إلى نظام التشغيل Windows IP (استبدال GUEST_IP_HERE مع IP الصحيح):

iptables -t nat -A OUTPUT -m addrtype --src-type LOCAL --dst-type LOCAL -p tcp --dport 8089 -j DNAT --to-destination GUEST_IP_HERE:8089
iptables -t nat -A POSTROUTING -m addrtype --src-type LOCAL --dst-type UNICAST -j MASQUERADE

هناك حاجة إلى ذلك لأن خادم Dev يبحث على وجه التحديد عن LocalHost في الطلب ولن يستجيب http://GUEST_IP_HERE:8089 من المضيف

افتح موجه الأوامر واكتب؛ "ipconfig" سيعطيك هذا عنوان IP الخاص بك.

إذا قمت بتعطيل جدار الحماية الخاص بك (لمنفذ ASP.NET DEV على الأقل)، يجب أن تكون قادرا على الكتابة في متصفح Virtual PC http://192.168.1.3:3243/default.aspx.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top