অ্যাপাচি প্রক্সি_এইচটিটিপি আইপিতে পুনর্নির্দেশ করে হোস্টনাম সেট করে


16

আশা করি ছেলেরা আমার যে প্রক্সি সমস্যা রয়েছে সে সম্পর্কে আমাকে সহায়তা করতে পারে।

আমি ইতিমধ্যে যা আছে

আমি * .proxy.domain থেকে * .intern.domain এ প্রক্সি অনুরোধগুলিতে একটি অ্যাপাচি http বিপরীত প্রক্সি সেট আপ করেছি। বাহ্যিক নেটওয়ার্ক থেকে আমার অভ্যন্তরীণ ওয়েব অ্যাপ্লিকেশনগুলিতে পৌঁছানোর একমাত্র উপায় অ্যাপাচি।

উদাহরণ:

app.proxy.domain -> app.intern.domain
mail.proxy.domain -> mail.intern.domain

এটি সবই দুর্দান্ত কাজ করছে তবে আমার নিম্নলিখিত সমস্যাটি রয়েছে।

সমস্যাটি
আমি নিম্নলিখিত অনুরোধগুলির প্রক্সি করতে চাই:

app.proxy.domain -> app.internal.domain
app-dev.proxy.domain -> app-dev.internal.domain

এটি কোনও সমস্যা নয়, তবে দুর্ভাগ্যক্রমে অ্যাপ-ডেভ সার্ভারটি অ্যাপ্লিকেশন সার্ভারের ওয়েব অ্যাপ্লিকেশনটির একটি সঠিক অনুলিপি চালায় এবং এই ওয়েব অ্যাপ্লিকেশনটি কেবল এটির হোস্টনামের প্রতিক্রিয়া দেয় (app.intern.domain)

সুতরাং আমাকে যা করতে হবে তা হল নীচে প্রক্সি

app.proxy.domain -> app.internal.domain (10.0.1.1)
app-dev.proxy.domain -> app.internal.domain (10.0.1.2)

আমি দ্বিতীয় কাজটি করতে পারি, "10.0.1.2 app.internal.domain" যোগ করে / ইত্যাদি / হোস্টগুলিতে, তবে এর অর্থ এইও হয় যে অ্যাপ.প্রক্সি.ডোমেনটি ডেভ-সার্ভারে উপস্থিত হবে।

আমি অ্যাপ্লিকেশন-dev.proxy.domain জন্য কেবলমাত্র vhost কনফিগারেশন ফাইলের মধ্যে / ইত্যাদি / হোস্ট এন্ট্রি সেট করার জন্য একটি বিকল্প অনুসন্ধান করছি, যাতে প্রতিটি অন্যান্য vhost কনফিগারেশন কেবল app.intern.domain এর জন্য ডিএনএস ব্যবহার করে।

থটস ...

অ্যাপাচি কনফিগারেশন, বলার উপায় আছে কি

ProxyPass / http://10.0.1.2/

কিন্তু হোস্টনাম হিসাবে app.intern.domain প্রেরণ করবেন?

অ্যাপ্লিকেশন-দেব শোনার জন্য ডেভ-সার্ভারের ওয়েব অ্যাপ্লিকেশন সম্পাদনা করা কোনও বিকল্প নয়, যেহেতু এটি একটি অনুলিপি (আমার সিদ্ধান্ত নয় ...) বলে মনে করা হচ্ছে

ধন্যবাদ!

উত্তর:


34

সম্ভবত আপনি মোড_প্রক্সির সাথে একত্রে Mod_headers ব্যবহার করতে পারেন। যদিও আমি এটি পরীক্ষা করিনি।

সুতরাং আপনার অ্যাপ্লিকেশন ডেভ ভোস্টের জন্য আপনার কাছে থাকতে পারে:

RequestHeader set Host "app.internal.domain"

এবং তারপরে আপনি যুক্ত করবেন:

ProxyPreserveHost On

2
প্রক্সিপ্রিজহস্ট সেটিংটি কৌশলটি পুরোপুরি করেছে। ধন্যবাদ!
কিছু লিনাক্স Nerd

3

কুৎসিত কাজটি হ'ল অ্যাপ্লিকেশনাল.ডোমেনকে লোকালহোস্টে নির্দেশ করার জন্য / ইত্যাদি / হোস্টগুলি ব্যবহার করা (বরং অপব্যবহার) এবং তারপরে আপনার অ্যাপ্লিকেশন এবং অ্যাপ্লিকেশনের জন্য দুটি অতিরিক্ত বন্দর শোনার জন্য অ্যাপাচি কনফিগার করা। সুতরাং দুবার বিপরীত প্রক্সি:

Listen 80
Listen 127.0.0.1:8001
Listen 127.0.0.1:8001

<VirtualHost *:80>
   ServerName app.proxy.domain
   ProxyPass / http://app.internal.domain:8001
</VirtualHost>
<VirtualHost *:80>
   ServerName app-dev.proxy.domain
   ProxyPass / http://app.internal.domain:8002
</VirtualHost>
<VirtualHost 127.0.0.1:8001>
   ServerName app.internal.domain
   ProxyPreserveHost On
   ProxyPass / http://10.0.1.1/
</VirtualHost>
<VirtualHost 127.0.0.1:8002>
   ServerName app.internal.domain
   ProxyPreserveHost On
   ProxyPass / http://10.0.1.2/
</VirtualHost>

2

বিপরীতে প্রক্সি কনফিগারেশনে যুক্ত করুন (শত্রু অ্যাপ্লিকেশন-দেব.প্রক্সি ..):

RequestHeader edit Host ^app-dev.proxy.domain app.proxy.domain

আপনাকে আগেই mod_headers সক্ষম করতে হবে:

a2enmod headers

অভ্যন্তরীণ সার্ভারে 10.0.1.2 থাকা উচিত

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