কেবলমাত্র HTTP- র ক্লায়েন্ট ব্যবহার করে কোনও https পরিষেবাতে সংযুক্ত করুন


2

এমন কি কোনও সাধারণ কমান্ড লাইনের ক্লায়েন্ট রয়েছে যা এরকম কিছু অনুরোধ করবে:

http2https --listen localhost:80 --connect example.com:443

যা পরে আমাকে কার্যকরভাবে সাথে সংযোগ স্থাপনের জন্য সম্ভব হবে https://example.comআসলে এ সংযুক্ত হয়ে http://localhost? এটি উইন্ডোজে কাজ করা প্রয়োজন।

আমি টানটান চেষ্টা করেছি, তবে কাজ করবে বলে মনে হচ্ছে না।

হালনাগাদ:

এখানে আউটপুট stunnel.exe -c -r google.com:443 -d 127.0.0.1:8888

No limit detected for the number of clients
stunnel 4.56 on x86-pc-msvc-1500 platform
Compiled/running with OpenSSL 1.0.1e-fips 11 Feb 2013
Threading:WIN32 Sockets:SELECT,IPv6 SSL:ENGINE,OCSP,FIPS
Reading configuration from file -c
Cannot read configuration

Syntax:
stunnel [ [-install | -uninstall] [-quiet] [<filename>] ] | -help | -version | -sockets
    <filename>  - use specified config file
    -install    - install NT service
    -uninstall  - uninstall NT service
    -quiet      - don't display a message box on success
    -help       - get config file help
    -version    - display version and defaults
    -sockets    - display default socket options

Server is down

উত্তর:


3

stunnel হয় তোমার পরে কি হল:

sudo stunnel -c -r google.com:443 -d 127.0.0.1:8888

এটি রিমোট পার্টিতে (এই ক্ষেত্রে গুগল) একটি এসএসএল সেশন সেট আপ করে এবং লোকালহোস্ট পোর্ট ৮৮৮৮ এ ​​শ্রোতা তৈরি করে you আপনার যদি ইতিমধ্যে শ্রোতা না থাকে তবে আপনি 80 ব্যবহার করতে পারেন।

তারপরে আপনি লোকালহোস্ট অ্যাক্সেস করুন: 8888 এবং আপনি রিমোট সাইটটি পাবেন।

আপনি যদি উইন্ডোজ ব্যবহার করছেন তবে কমান্ড লাইন বিকল্পগুলি সমর্থিত নয়, তাই এর stunnel.confমধ্যে পরামিতিগুলির সাথে একটি ফাইল তৈরি করুন :

[remote]
accept = 8888
connect = google.com:443

তারপরে এটি কল করুন

stunnel -c stunnel.conf

ধন্যবাদ, তবে এটি কার্যকর হয়নি। প্রশ্নটিতে আউটপুট যুক্ত করা হয়েছে।
ডিসট্রস্টাম

হ্যাঁ, উইন্ডোজ পোস্টটি দেখুন। আমি যখন আমার উইন্ডোজ মেশিনে ফিরে আসছি তখন আমি এই উদ্দেশ্যে একটি ছোট্ট নোডেজ অ্যাপ্লিকেশন প্রকাশ করব।
ডিসট্রস্টাম

চেষ্টা করার কি আছে? আপনি সবেমাত্র উইন্ডোজ ট্যাগ যুক্ত করেছেন। যাইহোক যে জন্য ধন্যবাদ।
ডিসট্রস্টাম

দুঃখিত - আমি আপডেট করা উত্তরটি বোঝাতে চাইছি।
পল

আমি সম্পূর্ণ ভিন্ন পরামিতিগুলির সাথে স্টান্ডেলের দুটি স্বতন্ত্র সংস্করণ রয়েছে বলে অনুভব করছি। প্রশ্নটিতে স্টানেলের আউটপুট পরীক্ষা করুন যা সেট করার জন্য উপলব্ধ প্যারামিটারগুলি দেখায়। কোথাও -cপ্যারামিটার নেই। আসলে, এটি বলে যে এটি একটি কনফিগারেশন ফাইল খুঁজছে যা -cআমি -cকমান্ড লাইনে অপশনটি রেখেছি এবং এটি এটি বিকল্প হিসাবে স্বীকৃতি দেয় না।
ডিসট্রস্টাম

3

পলের কাছে এটি প্রায় সঠিক ছিল তবে উইন্ডোজের অধীনে আপনার কনফিগারেশন ফাইলে ক্লায়েন্ট = হ্যাঁ যুক্ত হওয়া দরকার কারণ উইন্ডোজ স্টানেলের জন্য -c কোনও কমান্ড লাইন প্যারামিটার নয়।

নিম্নলিখিত কনফিগারেশন আমার জন্য কাজ করে

[remote]
client = yes
accept = 8888
connect = google.com:443

উইন্ডোজের স্ট্যান্ডেলের কমান্ড লাইন সংস্করণ হওয়ায় আমি স্টানেল.এক্সির চেয়ে tstunnel.exe ব্যবহার করে শেষ করেছি। আদেশটি এখানে:

tstunnel remote_stunnel.conf

2

এখানে একটি নোড.জেএস স্ক্রিপ্ট যা আমি যা চাই তা করে:

var http = require('http');
var https = require('https');

http.createServer(function (req, resp) {
    var h = req.headers;
    h.host = "www.example.com";
    var req2 = https.request({ host: h.host, port: 443, path: req.url, method: req.method, headers: h }, function (resp2) {
        resp.writeHead(resp2.statusCode, resp2.headers);
        resp2.on('data', function (d) { resp.write(d); });
        resp2.on('end', function () { resp.end(); });
    });
    req.on('data', function (d) { req2.write(d); });
    req.on('end', function () { req2.end(); });
}).listen(9999, "127.0.0.1");
console.log('Server running at http://127.0.0.1:9999/');

হোস্ট এবং স্থানীয় পোর্ট উভয়ই হার্ডকডযুক্ত, তবে তাদের কমান্ড লাইন প্যারামিটার তৈরি করা যথেষ্ট সহজ হবে।

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