এইচটিটিপি_এক্স_ফোরওয়ারডেডিআরপিও হেডার কীভাবে এনগিনেক্স করবে?


18

আমি আমার সেটআপ থেকে তাড়া করছি

nginx > apache/php

প্রতি

haproxy > nginx > apache/php

(এসএসএল সমর্থন সহ হাইল্পক্সি 1.5-ডেভ 18 ব্যবহার করে)

এইচটিটিপি_এক্স_ফোরওয়ারডেডিপ্রোটো হেডার সেট করতে এনগিনেক্স এবং হ্যাপ্রোক্সি উভয়ই সঠিকভাবে সেট আপ হয়েছে। যাইহোক, যখন এনজিনেক্স হ্যাপ্রোক্সি থেকে এসএসএল ট্র্যাফিক পেয়ে যায়, এটি সংযোগটি HTTP হিসাবে দেখায় এবং শিরোনামটিও তাই সেট করে।

HTTP_X_FORWARDED_PROTO শিরোনাম উপস্থিত থাকলে আমি কীভাবে nginx সেট করতে পারি, তবে অন্যথায় সংযোগের ভিত্তিতে সেট করা চালিয়ে যেতে পারি?

উত্তর:


36

আমি কীভাবে এটি সমাধান করব তা ভেবেছিলাম। সমস্যাটি হ'ল এনগিনেক্স আমার কনফিগারেশনের এই লাইনে হ্যাপ্রোক্সি দ্বারা সেট করা শিরোনামটি ওভাররাইট করছে:

proxy_set_header X-Forwarded-Proto $scheme;

আমি এটি যুক্ত করে এটি ঠিক করেছি:

map $http_x_forwarded_proto $thescheme {
     default $scheme;
     https https;
 }   

এবং নতুন স্কিমটি ব্যবহার করতে প্রক্সি_সেট_হেডার লাইনটি পরিবর্তন করা হচ্ছে:

proxy_set_header X-Forwarded-Proto $thescheme;

আমি যদি কিছু মিস না করি তবে আপনার আগে এবং পরে proxy_set_headerলাইনগুলি একই।
উইলফ্রেড হিউজেস

1
$schemeবনাম $thescheme
অ্যারলেন বেলার 13

কিছু দুর্লভ ক্ষেত্রে এটি কি নিরাপত্তাহীন নয়? যদি কোনও ওয়েব ব্রাউজার হ্যাপ্রোক্সিতে একটি এইচটিটিপি অনুরোধ প্রেরণ করে এবং হ্যাপ্রোক্সি তারপরে এনগিনেক্সে একটি এইচটিটিপিএস অনুরোধ প্রেরণ করে - তবে default $schemeঘটনাটি ঘটবে, $theschemeএইচটিটিপিএস-এ সেট করা হবে যদিও বাস্তবে অনুরোধটি (হ্যাপ্রোক্সির কাছে) অনিরাপদ HTTP। - এড়াতে, কী সম্পর্কে: default $http_x_forwarded_proto; '' $scheme;তাই হ্যাপ্রোক্সি যদি এইচটিটিপি বলে তবে এটি সম্মানিত হবে।
কাজম্যাগনাস

এটি এখানে প্রস্তাবিত: stackoverflow.com/a/21911864/694469 (অর্থাত্ default $http_x_forwarded_proto;)।
কাজম্যাগনাস

2

এডাব্লুএস ইএলবি নিয়ে আমারও একই চাহিদা ছিল

আমার সমাধানের রেখাটি এখানে:

proxy_set_header        X-Forwarded-Proto $http_x_forwarded_proto;

আমি $http_x_forwarded_protoকোথাও সেট বাজি করা উচিত ? এটা কি?
জোনাথন

বিকাশকারী.মোজিলা.আর.ইন.ইউএস / ডকস / ওয়েব / এইচটিটিপি / হিয়ার্স /… http_x_forwarded_proto হ'ল এনজিআইএনএক্স বাস্তবায়ন
চাকরিওয়াত

2
আপনি কেবল একটি সমস্যার সমাধান করেছেন যেটি আমি 3 দিনের জন্য হাতুড়ি করছি! proxy_set_header X-Forwarded-Proto $scheme;
Https

1

আমি কেবল মন্তব্য করতে পারি না তাই আমি উত্তর হিসাবে এটি পোস্ট করি: আপনি কি আমাদের অংশ বা আপনার সমস্ত এনজিএনএক্স কনফিগারেশন দিতে পারেন যাতে আমরা দেখতে পাচ্ছি যে এতে কী আছে? সম্ভবত আপনার HAProxy কনফিগারেশন?

আমি প্রথমে যে সমস্যাটি ভাবতে পারি তা হ'ল আপনার HAProxy এসএসএল সমাপ্তি করছে। এটির সংক্ষিপ্তসার হিসাবে, আপনার ব্যাকএন্ড সার্ভারগুলি অফলোড করার জন্য, সমস্ত এসএসএল জিনিস করার জন্য একটি লোড ব্যালান্সার কনফিগার করা যেতে পারে এবং তারপরে HTTP- এ আপনার ব্যাকএন্ড সার্ভারের সাথে যোগাযোগ করতে পারে। এখানে স্কিমটি পছন্দ করুন: http://blog.exceliance.fr/2012/09/10/how-to-get-ssl-with-haproxy-getting-rid-of-stunnel-stud-nginx-or-pound/

আপনার প্রশ্নের উত্তরের উত্তর দেওয়ার জন্য, আপনি কি আপনার HTTP <> https কনফিগারেশনে কোনও লুপব্যাক সমস্যা নেই তা পরীক্ষা করতে পারেন? সম্ভবত তখন আপনি HTTP- র, https- এ https- এ পুনর্নির্দেশ করতে পারেন এবং তারপরে HTTP কে https এ পুনঃনির্দেশ করতে বাধ্য করতে পারেন।

আপনি কি এইচপি প্রক্সি কনফিগারেশনে এসএসএল পাসস্ট্রো সক্ষম করেছেন তাও পরীক্ষা করে দেখতে পারেন?


আপনি কি আপনার সমস্যার সমাধান করেছেন?
ইয়ানোভিচ

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