প্রক্সিপাস অনুরোধগুলিতে একটি কাস্টম শিরোনাম যুক্ত করুন


9

আমার একটি সহজ অ্যাপাচি ভোস্ট রয়েছে:

<VirtualHost *:80>
  ServerName hello.local

  ProxyPass / http://localhost:8810/
  ProxyPassReverse / http://localhost:8810/
</VirtualHost>

হ্যালো.লোকালকে সমস্ত অনুরোধ প্রক্সাইড করা হয়েছে http://localhost:8810/। আমি যা করতে চাই তা হ'ল http://localhost:8810/একটি বহিরাগত কমান্ড দ্বারা প্রদত্ত একটি মান সহ http অনুরোধে একটি শিরোনাম যুক্ত করা । কিছুটা এইরকম

Header set MyHeader ${/usr/bin/an_external_program}

এটি সম্পাদন করার কোনও উপায়?


আপনি প্রতিটি অনুরোধের সময় এই বাহ্যিক প্রোগ্রামটি কার্যকর করতে চান?
সাইরাসাস

হ্যাঁ. বা এটি একটি "সাব্রেকয়েস্ট "ও হতে পারে: একটি সিজি স্ক্রিপ্ট বা অনুরূপ কিছু দ্বারা প্রত্যাবর্তিত মান। আমি পারফরম্যান্সের প্রভাব সম্পর্কে সচেতন।
সাইমন

উত্তর:


9

ঠিক আছে, আমি বুঝতে পেরেছি.

প্রথমত, যে স্ক্রিপ্টটি কার্যকর হয় এবং এটি শিরোনামটিতে সন্নিবেশ করানোর মান পেতে ব্যবহৃত হয়। আমি এটি তৈরি করেছি /opt/apache/debug.sh:

#!/bin/bash

#this script just loops forever and outputs a random string
#every time it receives something on stdin

while read
do
        cat /dev/urandom|head -c12|base64
done

অ্যাপাচি কনফিগারেশন:

<VirtualHost *:80>
        ServerName light.nik

        RewriteEngine On

        RewriteMap doheader prg:/opt/apache/debug.sh
        RewriteRule (.*) - [E=customheader:${doheader:},P]

        RequestHeader set customheader %{customheader}e

        ProxyPass / http://localhost:8080/
        ProxyPassReverse / http://localhost:8080/
</VirtualHost>

চলমান ব্যাকএন্ড পরিষেবাটি স্ক্রিপ্ট থেকে মান সহ http://localhost:8080/গ্রহণ করে customheader

বাহ্যিক প্রোগ্রাম ব্যবহার সম্পর্কে অ্যাপাচি ডকুমেন্টেশন এখানে

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