টানেলিংয়ের মাধ্যমে ইন্টারনেটে লোকালহোস্ট প্রকাশ করা (এনগ্রোক ব্যবহার করে): HTTP ত্রুটি 400: খারাপ অনুরোধ; অবৈধ হোস্ট


210

প্রশ্নের পূর্ববর্তী সংস্করণগুলি থেকে, এটি রয়েছে: লোকালহোস্টের পরিবর্তে আইপি ঠিকানার মাধ্যমে ওয়েবসাইট ব্রাউজ করুন , যা এখন পর্যন্ত আমি যা কিছু করেছি তার রূপরেখা দেয় ... আমি স্থানীয় আইপি পেয়েছি। তারপরে আমি এনগ্রোককে পেয়েছি এবং স্পষ্টতই আইপি দিয়ে আমার সংযোগ করার দরকার নেই।


আমি যা করার চেষ্টা করছি তা হ'ল লোকালহোস্টে চলমান আমার ওয়েবসাইটটি ইন্টারনেটে প্রকাশ করা। আমি একটি সরঞ্জাম পেয়েছি যা এটি করবে: এনগ্রোক।

ভিজ্যুয়াল স্টুডিওতে ওয়েবসাইট চালানো, ওয়েবসাইট লোকালহোস্ট / পোর্ট # এ শুরু হয়। আমি কমান্ড লাইনে "ngrok http পোর্ট #" কমান্ডটি চালাচ্ছি। সবকিছু ঠিক আছে মনে হচ্ছে। আমি বেশ কয়েকটি ইউআরএল তৈরি করি এবং এনগ্রোক ইন্সপেকশন ইউআরএল (লোকালহোস্ট: 4040) কাজ করে।

একমাত্র সমস্যাটি হ'ল আমি যখন উত্পন্ন ইউআরএলগুলিতে যাই তখন আমি একটি HTTP ত্রুটি 400 পাই: খারাপ অনুরোধটি অবৈধ হোস্টনাম name আমি যখন "এনগ্রোক HTTP ভুলপোর্ট #" চালাচ্ছি তার চেয়ে এটি একটি পৃথক ত্রুটি, যা একটি হোস্ট ত্রুটি খুঁজে পাওয়া যায় নি ... তাই আমার মনে হয় ভাল কিছু ঘটছে। আমি কি বলতে পারি না ...

টানেলিং পরিষেবাটির মাধ্যমে আমার সাইটটি ইন্টারনেটে প্রকাশের ক্ষেত্রে কী পদক্ষেপ মিস করছি? যদি সেখানে থাকে তবে আমি এটি এনগ্রোক ডকুমেন্টেশনে খুঁজে পাচ্ছি না।

উত্তর:


564

এনগ্রোক দিয়ে এই সমস্যাটির সমস্যার সমাধান করুন। অবিশ্বাস্যর কথায়, কিছু অ্যাপ্লিকেশন প্রত্যাশার চেয়ে আলাদা হোস্ট শিরোনাম দেখলে রেগে যায়।

নিম্নলিখিত কমান্ড চালানো সমস্যার সমাধান করা উচিত:

ngrok http [port] -host-header="localhost:[port]"

3
ধন্যবাদ। আমি আগে এখানে ডিভেন র্যাডারের বিস্তারিত নির্দেশাবলী অনুসরণ করেছি, তবে এটি এখন এই পথটিকে আরও সহজ করে তোলে। twilio.com/blog/2014/03/…
sobelito

আপনি যদি অ্যাপ্লিকেশন হোস্টকনফিগ (বনাম ২০১৫ / আইসি এক্সপ্রেস) - এ আরও একটি বাইন্ডিং যুক্ত করতে সমস্যা বোধ করেন তবে এই সমাধানটিও কাজ করে। আপনাকে কেবল এই উত্তরটি ব্যবহার করার দরকার নেই। অবশেষে, আপনি যদি প্রতিবার ঠিকানা পরিবর্তন না করে কোনও কাস্টম ডোমেনের জন্য অর্থ প্রদান করেন তবে উপরের উত্তরে কেবল -subdomain = mysubdomain যুক্ত করুন।
ট্রেভরেক

4
এটিকে যথেষ্ট পরিমাণে উজ্জীবিত করা যায় না! আপনার আইআইএসইপ্রেস বাইন্ডিং এবং নেটওয়ার্ক সেটিংস হ্যাক করার জন্য সমস্ত জটিল এবং বগী নির্দেশাবলীর জন্য, এটি মাখনের মাধ্যমে গরম ছুরির মতো এটি কেটে দেয়।
নীল ল্যাসলেট

19
স্থানীয় যখন HTTP এর পরিবর্তে https এ থাকে তবে উপরের কাজগুলির এই প্রকরণটি:ngrok http https://localhost:44362 -host-header="localhost:44362"
জিনসিং

1
বাহ, আমি প্রায় 2 ঘন্টা নষ্ট করেছিলাম এটিকে খুঁজে বের করতে। আমার একমাত্র সমস্যা ছিল আমি-হোস্ট-শিরোনামে https যুক্ত করছি। ngrok http https://localhost:44392 -host-header="https://localhost:44392" এটির মতো: -হোস্ট-শিরোনামের প্যারামিটার থেকে https: // অপসারণ আমার সমস্যার সমাধান করেছে। ধন্যবাদ
ডেভ

48

নিম্নলিখিত আদেশটি সমস্যার সমাধান করবে

ngrok http -host-header=localhost 8080

2
যদি এএসপি.নেট কোর ব্যবহার করা হয় তবে app.UseHttpsRedirection()307 অস্থায়ী পুনঃনির্দেশ এড়াতে আপনার স্টার্টআপ ক্লাসেও মন্তব্য করা উচিত ।
মার্ক জি

39

এটি আমার পক্ষে কাজ করে না। আপনি নিম্নলিখিত করতে পারে:

আইআইএস এক্সপ্রেসের জন্য

ভিএস 2015 তে: .vs\config\applicationhost.configআপনার প্রকল্পের ফোল্ডারে যান

ভিএস 2013 এবং এর আগের: এখানে যান %USERPROFILE%\My Documents\IISExpress\config\applicationhost.config

যে বাইন্ডিং রয়েছে তা সন্ধান করুন:

<binding protocol="http" bindingInformation="*:5219:localhost" />

আমার জন্য এটি 5219 বন্দরে চলমান একটি প্রকল্প ছিল

এটি পরিবর্তন করুন

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

আইআইএস এক্সপ্রেস এখন সেই বন্দরের সমস্ত আগত সংযোগ গ্রহণ করবে।

অসুবিধা: আপনার প্রশাসক হিসাবে আইআইএস এক্সপ্রেস চালানো দরকার।

অথবা আপনি এনগ্রোকের হোস্ট শিরোনামটি আবার লিখতে পারেন:

ngrok.exe http -host-header=rewrite localhost:5219

এনগ্রোকে হেডার পুনরায় লেখার সঠিক উপায় এটি way অন্য উত্তরগুলির কোনওটিরই কাজ হয়নি। ইতিমধ্যে আইআইএস কোনও হোস্টনামে সেট হয়ে গেছে, তবে এনজিওক-হোস্ট-হেডার = "লোকালহোস্ট: 8892" ব্যবহার করার পরে "হোস্টনামটি অবৈধ" ফিরে এসেছে তবে এই পুনর্লিখনের সংস্করণটি তত্ক্ষণাত্ কাজ করে।
তিথ


0

আমার কাছে সবচেয়ে সহজ জিনিসটি ছিল আইস এক্সপ্রেস-প্রক্সি + এনগ্রোক ব্যবহার করা ।

প্রথমে আমি iisexpress-proxyএনপিএম সহ বিশ্বব্যাপী ইনস্টল করি

npm install -g iisexpress-proxy

তারপরে আমি আমার লোকালহোস্ট এটির সাথে প্রক্সি করি। উদাহরণস্বরূপ বলুন আমার সাইটটি চলছে 3003

iisexpress-proxy 3003 to 1234512345নতুন পোস্ট পোর্টটি যেখানে আমি প্রক্সি করতে চাই।

তারপরে আমি এটিতে এনগ্রোক চালাতে পারি।

./ngrok.exe http 12345

এটা ঠিক কাজ করে! 😃

তবে আমি মনে করি এটি কেবল সঙ্গে কাজ করে http। এই মুহূর্তে আমি httpsপরীক্ষার জন্য ব্যবহার করি না , তবে এটি যদি কাজ করে তবে সাধারণত এটি বরাবরই অনেক কাজ work


-7

পদক্ষেপ।

  1. Ngrok.exe ডিরেক্টরি থেকে আপনার কনসোলটিতে কমান্ড চালান। ngrok HTTP পোর্ট অর্থাৎ এনগ্রোক http 80 https://www.screencast.com/t/oyuEPlR6Z সেট

  2. আপনার অ্যাপ্লিকেশনে এনগ্রোক ইউআরএল।

এটি আপনার আবেদনে একটি টানেল তৈরি করবে।

ধন্যবাদ

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.