আমার প্রক্সি সার্ভারটি আইপি এ-তে চলে এবং লোকেরা আমার ওয়েব পরিষেবাতে এইভাবে অ্যাক্সেস করে। এনগিনেক্স কনফিগারেশন আইপি বি-তে ভার্চুয়াল মেশিনে পুনর্নির্দেশ করবে
আই এ-তে প্রক্সি সার্ভারের জন্য, আমার সাইটগুলিতে এটি উপলব্ধ
server {
listen 443;
ssl on;
ssl_certificate nginx.pem;
ssl_certificate_key nginx.key;
client_max_body_size 200M;
server_name localhost 127.0.0.1;
server_name_in_redirect off;
location / {
proxy_pass http://10.10.0.59:80;
proxy_redirect http://10.10.0.59:80/ /;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
server {
listen 80;
rewrite ^(.*) https://$http_host$1 permanent;
server_name localhost 127.0.0.1;
server_name_in_redirect off;
location / {
proxy_pass http://10.10.0.59:80;
proxy_redirect http://10.10.0.59:80/ /;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
proxy_redirect
থেকে নিয়ে যাওয়া হয় কীভাবে আমি লেখা মাধ্যমে HTTP- র পোস্ট অনুরোধ ফরোয়ার্ড করতে nginx পেতে পারি?
পুনর্লিখনের কারণে পাবলিক আইপকে হিট করা সমস্ত কিছু 443-এ আঘাত করবে। অভ্যন্তরীণভাবে, আমরা ভার্চুয়াল মেশিনে 80 এ ফরোয়ার্ড করছি।
তবে যখন আমি আমাদের কনফিগারেশনটি পরীক্ষা করার জন্য নীচের মতো একটি অজগর স্ক্রিপ্টটি চালাই
import requests
data = {'username': '....', 'password': '.....'}
url = 'http://IP_A/api/service/signup'
res = requests.post(url, data=data, verify=False)
print res
print res.json
print res.status_code
print res.headers
আমি একটি পেয়ে যাচ্ছি 405 Method Not Allowed
। এনজিনেক্সে আমরা দেখতে পেলাম যে এটি যখন অভ্যন্তরীণ সার্ভারে আঘাত করে তখন অভ্যন্তরীণ এনজিনেক্স একটি GET
অনুরোধ পাচ্ছিল , যদিও মূল শিরোনামে আমরা একটি করেছি POST
(এটি পাইথন স্ক্রিপ্টে প্রদর্শিত হয়েছিল)।
সুতরাং দেখে মনে হচ্ছে পুনরায় লেখার সমস্যা আছে। কোন ধারনা কিভাবে এটা ঠিক করতে হবে? আমি যখন পুনর্লিখনটি মন্তব্য করেছি, তখন এটি নিশ্চিতভাবে 80 টি হিট হয় এবং এটি পেরিয়ে যায়। যেহেতু পুনর্লিখনটি আমাদের অভ্যন্তরীণ সার্ভারের সাথে কথা বলতে সক্ষম হয়েছিল, তাই পুনরায় লেখার কোনও সমস্যা নেই। এটা ঠিক লেখা বাদ এর POST
জন্য GET
।
ধন্যবাদ!
(এটি এনগিনেক্স ফোরামেও জিজ্ঞাসা করা হবে কারণ এটি একটি সমালোচক ব্লকার ...)
PUT
,POST
,DELETE
,GET
। আমার আগের সেটআপে আমার সামনে ভিড় পরিবেশন করার জন্য এই অতিরিক্ত প্রক্সিটি ছিল না। আমার একই অভ্যন্তরীণ সার্ভারে (আমাদের পরীক্ষার সার্ভার) একই কনফিগারেশন ছিল। এটা ঠিক কাজ করে।