এইচটিটিপিএস ওয়েবসভার ত্রুটি শ্যুটিংয়ে সহায়তা দরকার - এসএসএল হ্যান্ডশেক ব্যর্থ


9

আমি এই গাইডটি অনুসরণ করেছি: http://hints.macworld.com/article.php?story=20041129143420344

এখানে আমার ভার্চুয়াল হোস্ট সংজ্ঞা

<VirtualHost *:443>
    SSLEngine on
    SSLProxyEngine On
    RequestHeader set Front-End-Https "On"
    CacheDisable *
    SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
    DocumentRoot "/Users/me/projects/myproject/public"
    ServerName ssl.mydomain.com
    ServerAlias *.ssl.mydomain.com
    SSLCertificateKeyFile "/private/etc/apache2/certs/webserver.nopass.key"
    SSLCertificateFile "/private/etc/apache2/certs/newcert.pem"
    SSLCACertificateFile "/private/etc/apache2/certs/demoCA/cacert.pem"
    SSLCARevocationPath "/private/etc/apache2/certs/demoCA/crl"
    ErrorLog "/Users/me/Desktop/ssl.log"

    ProxyPass / https://localhost:3002/
    ProxyPassReverse / https://localhost:3002
    ProxyPreserveHost on    
</VirtualHost>

এবং যখন আমি ওয়েব ব্রাউজারে সেভের ভাইভের সাথে সংযোগ দেওয়ার চেষ্টা করি, তখন আমি এই ত্রুটিটি পাই:

[Thu Feb 02 16:50:40 2012] [error] (502)Unknown error: 502: proxy: pass request body failed to 127.0.0.1:3002 (localhost)
[Thu Feb 02 16:50:40 2012] [error] [client 96.11.81.39] proxy: Error during SSL Handshake with remote server returned by /session/new
[Thu Feb 02 16:50:40 2012] [error] proxy: pass request body failed to 127.0.0.1:3002 (localhost) from 96.11.81.39 ()

আমি কীভাবে এটি ডিবাগ করব / ঠিক করব?

উত্তর:


12

ভিবার্তনির জবাব যোগ করতে, মনে হয় অ্যাপাচি ২.৪ এবং তার থেকে উপরে বিভিন্ন ডিফল্ট এবং একটি নতুন নির্দেশ রয়েছে।

আমি অ্যাপাচি ২.৪..6 চালাচ্ছি এবং এটি কাজ করার জন্য আমাকে নিম্নলিখিত নির্দেশগুলি যুক্ত করতে হয়েছিল:

SSLProxyEngine on
SSLProxyVerify none 
SSLProxyCheckPeerCN off
SSLProxyCheckPeerName off

1
এটি কাজ করে - কেবলমাত্র সেই সমস্ত নির্দেশাবলীর সাথেই এটি অভিযোগ করবে না।
মাইকেল বেকলিং

@ মাইকেলব্যাকলিং আপনাকে ধন্যবাদ যে আমাকে ধরে রেখেছে। আমি বিশেষভাবে উল্লেখ করতে চাই যে ডকুমেন্টেশনে বলা হয়েছে যে প্রস্তাব SSLProxyCheckPeerNameবাতিল হয়ে যায় SSLProxyCheckPeerCNতবে আপনি সমস্ত নির্দেশনা নির্দিষ্ট না করে এটি কাজ করবে না ।
সন্ধি হয়েছে

3

আপনার ফ্রন্ট-এন্ড এবং আপনার ব্যাক-এন্ড সার্ভারের মধ্যে এইচটিটিপিএস নিয়ে বিরক্ত করবেন না, localhostসংযোগের জন্য এসএসএল সক্ষম করার সামান্য বিষয় আছে ।

স্পষ্ট করতে, ProxyPass / http://localhost:3002/পরিবর্তে ব্যবহার করুনProxyPass / https://localhost:3002/


বিকল্পভাবে, আপনি যদি সত্যিই এসএসএল ব্যবহার করে আপনার বিপরীত প্রক্সিটি ব্যাক-এন্ড সার্ভারের সাথে সংযোগ করতে চান (তবে সেই সার্ভারটি অপ্যাচি এইচটিপিডি বিপরীত প্রক্সি যেখানে থাকে না তখন বেশিরভাগ ক্ষেত্রে কার্যকর হয়), এছাড়াও সেটআপ করার https://backend-server-addressজন্য SSLProxy*নির্দেশিকাগুলি ব্যবহার করুন সিএ শংসাপত্র, ডকুমেন্টেশন পরিচয়mod_proxy হিসাবে নথিভুক্ত । বিশেষত, আপনাকে কনফিগার SSLProxyCACertificateFileকরতে হবে এবং নিশ্চিত করতে হবে যে ব্যাকএন্ড সার্ভারের শংসাপত্র অ্যাপাচি এইচটিপিডি (যেমন localhostআপনার ক্ষেত্রে) দ্বারা দেখা ঠিক ডান হোস্ট নামে জারি করা হয়েছে ।


আপনি যদি এসএসএল ব্যবহার করে আপনার ব্যাক-এন্ড সার্ভারের সাথে সংযোগ স্থাপন না করে থাকেন তবে আপনি আসলে এসএসএল ব্যবহার করছেন তা সনাক্ত করতে ব্যর্থ হতে পারে এবং আপনাকে এসএসএলে যেতে বাধ্য করার জন্য কনফিগার করা হয়েছে (অতএব অসীম পুনঃনির্দেশ)। জেটি তার forwardedবিকল্পটি কী করে তা হিসাবে একই ধরণের প্রক্রিয়াটি দেখতে চাইতে পারেন (এটি কোনও প্রক্সিটির পিছনে ব্যাক-এন্ড বলতে সক্ষম হতে)। রেলগুলি X-Forwarded-Protoডিফল্টরূপে ব্যাখ্যা করতে সক্ষম হতে পারে । এই ক্ষেত্রে এটি আপনার অ্যাপাচি কনফিগারেশনে যুক্ত করুন (এসএসএল ভার্চুয়াল হোস্টে):

RequestHeader set X-Forwarded-Proto 'https'

উদাহরণস্বরূপ, এখানে একইভাবে আলোচিত সমস্যা বলে মনে হচ্ছে ।


এসএসএলপ্রক্সি কেবলমাত্র সেই লিঙ্কটিতে একবার উল্লেখ করা হয়েছে। এটি কীভাবে ব্যবহার করা যায় তার কোনও উদাহরণ নেই। আমি এক্স-ফরওয়ার্ড-প্রোটো 'https' সেট করার জন্য অনুরোধ শিরোনাম পরিবর্তন করেছি ... তবে এটি এখনও কাজ করে না / আমি একই ত্রুটি পাই। যাওয়া স্থানীয় হোস্ট: 3002 একই ত্রুটি দেয়
NullVoxPopuli

লোকালহোস্টের সাথে https এ সংযুক্ত হওয়ার জন্য বৈধ কারণ রয়েছে: উদাহরণস্বরূপ HTTPS ব্যাক-এন্ডে সকেট.আইও। এটি মিশ্র সামগ্রীতে ত্রুটিগুলির মাধ্যমে ঘটবে।
ফ্লোরস্তান

3

আমার একই ধরণের সমস্যা ছিল (একই ত্রুটিযুক্ত লগগুলি), প্রক্সিটি https ট্র্যাফিক অন্য হোস্টে ফরোয়ার্ড করছিল except
যেহেতু আমি অলস ছিল এবং হোস্টগুলি আমার নিজস্ব বিচ্ছিন্ন নেটওয়ার্কে রয়েছে, এই নির্দেশাবলী সমস্যাটি সমাধান করেছে:

এসএসএল
প্রক্সি কোনওটিই যাচাই করুন SSLProxyCheckPeerCN বন্ধ


1

যদি ব্যাকএন্ড সার্ভারটি পুরানো স্ব স্বাক্ষরিত শংসাপত্র ব্যবহার করে, তবে আরও একটি বিকল্পের প্রয়োজন (যদি ব্যাকএন্ড সার্ভারে অ্যাক্সেস না থাকে):

SSLProxyCheckPeerExpire বন্ধ

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