ভ্যাগ্র্যান্টের পোর্ট ফরওয়ার্ডিং কাজ করছে না [বন্ধ]


108

প্রারম্ভিক নির্দেশিকাটির জন্যvagrant শেষে আমি একটি ছোট্ট সমস্যায় পড়ছি । আমি সেন্টোস বেসবক্সে কাজ করছি যার অ্যাপাচি 2 চলছে (পুতুলের মাধ্যমে বিধান)। আমি নিম্নলিখিত লাইনটি ব্যবহার করে ওয়েব অনুরোধগুলির জন্য পোর্ট ফরওয়ার্ডিং সেট আপ করেছি Vagrantfile:

 config.vm.forward_port "web", 80, 4567

কিন্তু যখন আমি সেই বন্দরে অনুরোধ করি তখন তারা ব্যর্থ হয়। সাফারির দ্বারা চিহ্নিত ত্রুটিটি হ'ল 'সাফারি " HTTP: // লোকালহোস্ট: 4567 / " পৃষ্ঠাটি খুলতে পারে না কারণ সার্ভারটি অপ্রত্যাশিতভাবে সংযোগটি বাদ দিয়েছে' '

আমি vagrant reloadস্ক্রোলটিতে "[ডিফল্ট] - ওয়েব: 80 => 4567 (অ্যাডাপ্টার 1)" দেখেছি, তাই আমি এই সমস্যার সমাধান কোথায় শুরু করব? ধন্যবাদ।


1
কি curl -v 'http://localhost:4567/'বলে? কখনও কখনও সাফারি ত্রুটি বার্তাগুলি লুকিয়ে রাখতে কিছুটা সুন্দর।
স্টিভ লশ

2
এছাড়াও, curl 'http://localhost:80'ভিএম থেকে নিজেও কাজ করে? যদি তা না হয় তবে সমস্যাটি পোর্ট ফরওয়ার্ডিং নয়।
স্টিভ লশ

4
curlভিএম এর মধ্যে থেকে স্টিভ লশ কাজ করছে। curlহোস্ট থেকে আমাকে দেয় (52) Empty reply from server
হ্যাঙ্ক গে


আমার ক্ষেত্রে কেস সিম্ফনি 3: - যখন sudo পিএইচপি বিন / কনসোল সার্ভার রান করুন: রান করুন যা সার্ভারকে 127.0.0.1:8000 এ চলমান করে তোলে আমি তখন ওয়েব ব্রাউজার থেকে অ্যাক্সেস করতে পারি না, ভার্চুয়াল মেশিনে কার্ল অ্যাক্সেস করা হয়। ওয়েব ডিরেক্টরিতে যখন sudo পিএইচপি-এস 0.0.0.0:8000 চালানো হয়েছিল, আমি 127.0.0.1:8082/app_dev.php অ্যাক্সেস করতে পারতাম । কেন এমন হয় তা বুঝতে পারছি না, তবে কাজ করে।
দারিয়াস.ভি

উত্তর:


80

আমি কেবল আরও মন্তব্যের পরিবর্তে এটি একটি আসল উত্তর করব।

প্রথম জিনিস: curl 'http://localhost:80'ভিএম এর মধ্যে থেকে চেষ্টা করুন । যদি এটি কাজ না করে, তবে এটি অবশ্যই পোর্ট ফরওয়ার্ডিং নয়।

পরবর্তী: curl -v 'http://localhost:4567/'আপনার হোস্ট মেশিন থেকে চেষ্টা করুন । কার্ল আপনাকে সাফারির চেয়ে আরও ভাল ত্রুটির বার্তা দিতে পারে।

আমি দেখতে পাচ্ছি যে ৮০ বন্দরটিতে অ্যাক্সেস সীমাবদ্ধ রেখে কোনও ফায়ারওয়াল সেট আপ করা নেই The ডিফল্ট ভ্যাগ্র্যান্ট ভিএম (উবুন্টু) কোনও ফায়ারওয়াল সেটআপ নিয়ে আসে না, তবে আপনি বলেছিলেন আপনি অন্য কিছু ব্যবহার করছেন, সুতরাং এটির পক্ষে এটি উপযুক্ত হতে পারে চেক করা।

যদি তা না হয় তবে 80 নম্বর পোর্টে অ্যাপাচি ছাড়া অন্য কিছু তৈরি করার চেষ্টা করুন you আপনি ব্যবহার করতে পারেন এমন একটি সাধারণ এইচটিটিপি সার্ভারের সাথে পাইথন জাহাজগুলি - ফোল্ডারে যান index.htmlএবং চালান sudo python -m SimpleHTTPServer 80, তারপরে উভয় বাক্স থেকে কার্ল দিয়ে আঘাত করার চেষ্টা করুন। যদি এটি কাজ করে তবে সম্ভবত এটি অ্যাপাচি কনফিগারেশন সমস্যা। যদি মামলা হয় (তবে আমি এনজিনেক্স ব্যবহার করি) তবে অ্যাপাচিকে সাহায্য করার জন্য আমার পর্যাপ্ত অভিজ্ঞতা নেই।


14
মূলত, আমি রেডহ্যাট এ স্তন্যপান এবং iptables। আমি ডিফল্ট নীতিটি ACCEPTআগত সংযোগগুলির জন্য তা নিশ্চিত করেছিলাম কিনা তা পরীক্ষা করে দেখেছি , তবে রেডহ্যাটের কাস্টম রুল চেইনের দিকে মনোযোগ দেয় নি, যার শৃঙ্খলে REJECTসর্বশেষ নিয়ম হিসাবে ক্যাচ-অল নিয়ম রয়েছে। tl; dr আমার পথে ফায়ারওয়াল ছিল এবং ঠিক খেয়াল করিনি।
হ্যাঙ্ক গে

ধন্যবাদ! এই ছিঁচকে ফায়ারওয়াল নিয়মটিই আরএইচইল 5.5-এ আমার সমস্যার কারণ হয়েছিল।
রুশ

আমি নীচে রবার্টের মন্তব্যটি আবার মুদ্রিত করেছি কারণ এটি যাচাই করার মতো তুচ্ছ উপায়: service iptables stopঅতিথির ফায়ারওয়াল ইস্যুটি দ্রুত বাতিল করতে মূল হিসাবে চালান । প্রয়োজনে এটি পুনরায় সক্ষম করুন।
আরনাউদ মিউরেট

1
একটি অদ্ভুত সেন্টোস চিত্রের সাথে একই সমস্যা ছিল; iptablesপ্রায় সবকিছু সীমাবদ্ধ ছিল। আমি এই ইপিটেবল সেন্টো গাইডটি অনুসরণ করেছি ( একটি সাধারণ নিয়ম সেট রচনায় বিভাগ 3 এর সমাধান ) এবং এটি একটি
কবজির

আমার জন্য কার্ল ভিতরে কাজ করছিল তাই আমি নেটওয়ার্কিং সক্রিয় Vagrantfilevagrant reload
করলাম

266

আমি একটি অতিরিক্ত নোট যোগ করতে চেয়েছিলাম যে প্রায়শই এটি ভিএম এর মধ্যে সার্ভারের কারণে ঘটে কারণ এটি আবদ্ধ হয় 127.0.0.1যা লুপব্যাক। আপনি নিশ্চিত করতে চাইবেন যে সার্ভারটি এমনভাবে আবদ্ধ 0.0.0.0যাতে সমস্ত ইন্টারফেস এটিকে অ্যাক্সেস করতে পারে।

কিছু অন্তর্নির্মিত অ্যাপ্লিকেশন সার্ভার যেমন জ্যাঙ্গোর ডেভলপমেন্ট সার্ভার এবং কিছু রুবি সার্ভার ডিফল্টরূপে 127.0.0.1ডিফল্ট হয়ে যায় তাই এটি দেখার বিষয়।

স্টিভ যা বলেছিল তা সত্যই বলেছে: এটি ভিএম এর মধ্যে থেকে কাজ করে তা নিশ্চিত করুন এবং এটি কোনও কনফিগারেশন সমস্যা কিনা তা খুঁজে বের করার জন্য আরও কয়েকটি সাধারণ সার্ভার চেষ্টা করে দেখুন।


8
শটগান চলমান ওয়েব্রিকের জন্য এটি ঠিক করা ছিল।
রোনজ

এটি আমার জন্য সমস্যার সমাধান। টর্কবক্সকে 0.0.0.0 এ আবদ্ধ করতে এটি দিয়ে চালান: টর্কবক্স রান -b 0.0.0.0
বারটেক স্কুইরা

3
হ্যাঁ এই সমস্যা ছিল। 0.0.0.0 এ আবদ্ধ হওয়া দরকার। ভাবছি ভ্যাগ্র্যান্টের এমন কোনও উপায় যদি ভবিষ্যতে স্বয়ংক্রিয়ভাবে এই সমস্যাটি দূরে সরিয়ে দিতে পারে?
সিএমসিডিগ্রাগনকাই

1
সিনাট্রা এবং ওয়েব্রিকের সাথে একই সমস্যা: "সেট: বাইন্ড, '0.0.0.0'" সমস্যাটি সমাধান করেছে
প্রাগমেটিক_প্রগ্রাম

এটি আমার জন্য স্থির ছিল
ষাট বিট

33

সেন্টোস .3.৩ ডাব্লু / এনজিআইএনএক্সে আমার একই সমস্যা ছিল এবং আমি উত্তরটি ভিজাগর বাক্সে থাকা iptables এ পেয়েছি।

অসম্পূর্ণ বক্সে বাশ থেকে, এই পদক্ষেপগুলি অনুসরণ করুন:

প্রথম বর্তমান iptable বিধি তালিকা

iptables -L -v

তারপরে বর্তমান নিয়মগুলি ফ্লাশ করুন:

iptables -F

টিসিপি পোর্ট 22 এ এসএসএইচ সংযোগগুলি মঞ্জুরি দিন

iptables -A INPUT -p tcp --dport 22 -j ACCEPT

ইনপুট, ফরওয়ার্ড এবং আউটপুট চেইনের জন্য ডিফল্ট নীতি সেট করুন

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

লোকালহোস্টের জন্য অ্যাক্সেস সেট করুন

iptables -A INPUT -i lo -j ACCEPT

প্রতিষ্ঠিত এবং সম্পর্কিত সংযোগগুলির সাথে সম্পর্কিত প্যাকেটগুলি গ্রহণ করুন

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

সেটিংস সংরক্ষণ করুন

/sbin/service iptables save

পরিবর্তিত বিধি তালিকা

iptables -L -v

লোকালহোস্ট কার্ল করুন: [পোর্ট #] বা আপনার ব্রাউজারে বাইরের দিক থেকে আগুনে চাপুন

CentOS iptable কনফিগারেশনের উপর আরও তথ্য এখানে পাওয়া যায়:

http://wiki.centos.org/HowTos/Network/IPTables

শুভকামনা।


2
এই পর্যন্ত লেখার জন্য ধন্যবাদ। ফেডোরা 18 এ আমার একই সমস্যা ছিল তাই এটি সেন্টস-এর সাথে নির্দিষ্ট নয়। আমি আশা করি এটি অন্য কাউকে সাহায্য করবে। :)
বেনিয়ামিন ওকে

4
এটি সেন্টোসে আমি ছিলাম। service iptables stop
রবার্ট

2
iptables -Fএকা আমার জন্য এটি করেছিল
কোড_মঙ্ক

এই একই সমস্যাটি সমাধান করার জন্য এই ব্লগ পোস্টে তালিকাভুক্ত কিছু এক্সিকিউটিভ কমান্ড সহ আমি এর একটি কঠিন সমাধান পেয়েছি techie-notebook.blogspot.com/2014/05/… আমি আমার পথটি {{os_path} বিভাগগুলির সাথে প্রতিস্থাপন করতে হয়েছিল যেহেতু আমি করিনি এই পরিবর্তনশীল উপলব্ধ নেই।
জোশুয়া ক্রিকেট

27

আমার জন্য আরও ভাল সমাধান ফায়ারওয়াল অক্ষম করা

service iptables stop
chkconfig iptables off

আমার জন্য +1 কাজ করেছে। স্থানীয় ভার্চুয়ালবক্স উদাহরণ ব্যবহার করার জন্য, আমার ফায়ারওয়ালের কোনও প্রয়োজন ছিল না।
এডুয়ার্ডো

আপনি যদি একটি অস্থায়ী স্থির করতে চান তবে এটি একটি ভাল কৌশল
14

0

আমি মিশেলের মতো আরও একটি নোট যুক্ত করতে চাই। যদি আমার ক্ষেত্রে আমি 80 থেকে 6789 এ ফরোয়ার্ড করি

$ curl -v http://localhost:6789

এবং আমি পেয়েছি

<HTML>
<HEAD><TITLE>Redirection</TITLE></HEAD>
<BODY><H1>Redirect</H1></BODY>

তারপরে, আমি পরিবর্তে আইপি ঠিকানা ব্যবহার করেছি, এটি সঠিক এইচটিএমএল বার্তা পেয়েছে।

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