এইচটিটিপি-র মাধ্যমে পরিষেবা কর্মীদের পরীক্ষা করার বিকল্প


100

আমি পরিষেবা কর্মীদের পরীক্ষা করতে চাই তবে আমার একটি ভার্চুয়াল হোস্ট সেটআপ আছে এবং আমি লোকালহোস্টে https সক্ষম করতে সক্ষম হতে পারি না।

আমি যখনই লোকালহোস্টে পরিষেবা কর্মীর জন্য নিবন্ধন করবো এবং সার্ভিস কর্মীদের পরীক্ষার জন্য আমার স্থানীয় ভার্চুয়াল হোস্ট ইউআরএলকে হোয়াইটলিস্ট করতে পারি? ক্রোম জানায় যে পরিষেবা কর্মী সক্ষম করতে https দরকার। কমপক্ষে স্থানীয় পরীক্ষার জন্য কীভাবে আমি এই বিধিনিষেধটি পার করব।

উত্তর:


145

সাধারণভাবে, পরিষেবা কর্মীদের ব্যবহারের জন্য আপনাকে এইচটিটিপিএসের মাধ্যমে আপনার পৃষ্ঠা এবং আপনার পরিষেবা কর্মী স্ক্রিপ্ট উভয়ই পরিবেশন করতে হবে। শক্তিশালী নতুন বৈশিষ্ট্যগুলির জন্য নিরাপদ উত্সগুলি পছন্দ করুন এ যুক্তিটি বর্ণনা করা হয়েছে ।

স্থানীয় বিকাশের সুবিধার্থে এইচটিটিপিএসের প্রয়োজনীয়তার ব্যতিক্রম রয়েছে: আপনি যদি নিজের পৃষ্ঠা এবং পরিষেবা কর্মী স্ক্রিপ্টের মাধ্যমে http://localhost[:port]বা এর মাধ্যমে অ্যাক্সেস করেন http://127.x.y.z[:port]তবে পরিষেবা কর্মীদের কোনও পদক্ষেপ ছাড়াই সক্ষম করা উচিত।

Chrome- এর সাম্প্রতিক সংস্করণে, আপনাকে এই প্রয়োজনীয়তা মাধ্যমে স্থানীয় উন্নয়ন duriing প্রায় কাজ করতে পারেন chrome://flags/#unsafely-treat-insecure-origin-as-secure, যেমন এই উত্তর ব্যাখ্যা

ফায়ারফক্স সেটিংয়ের মাধ্যমে অনুরূপ কার্যকারিতা সরবরাহdevtools.serviceWorkers.testing.enabled করে।

দয়া করে মনে রাখবেন যে এই কার্যকারিতাটি কেবলমাত্র টেস্টিংয়ের সুবিধার জন্য যা অন্যথায় সঞ্চালন করতে সক্ষম হবে না এবং আপনার সাইটের উত্পাদনের সংস্করণ পরিবেশন করার সময় আপনার সর্বদা এইচটিটিপিএস ব্যবহার করার পরিকল্পনা করা উচিত। প্রকৃত ব্যবহারকারীদের এই পতাকাগুলি সক্ষম করার পদক্ষেপগুলি অনুসরণ করতে বলবেন না!


ধন্যবাদ জেফ এখনই এটি চেষ্টা করবে। অবশ্যই আমি এটি কেবল পরীক্ষার জন্য ব্যবহার করছি .. আপাতত বেপরোয়া কাজের দরকার ছিল ... !! আমি আদর্শ অনুশীলন জানি না .. তবে হতাশ বারগুলি হতাশার পরিমাপের জন্য আহ্বান জানায় ... !! আপনি কি আমাকে আমার হার্ড অর্জিত 4 পয়েন্ট ফিরিয়ে দিতে পারেন ... !! আপনি যদি প্রশ্নটি যথাযথ না মনে করেন তবে আমি মুছে ফেলব এবং এটি ভুল আচরণকে উত্সাহিত করবে
আমান সতীজা

4
লোকালহোস্টে সার্ভিস কর্মী ব্যবহার করে, কিন্তু সার্ভার থেকে sw.js ফাইল আনার চেষ্টা করার সময় এটি নেট :: ERR_INSECURE_RESPONSE,
sp1rs

4
ধন্যবাদ! আমি পড়ার জন্য প্রধান বডি আপডেট করেছি devtools.serviceWorkers.testing.enabled
জেফ পোজনিক

6
উপরের সন্ধানে যে কেউ অসুবিধে হয়েছে - এফএফ - ডিভাইস সরঞ্জামগুলি - সেটিংস কগ হুইল - উন্নত সেটিংস - এইচটিএমএপকে সক্ষম করুন। তারপরে আপনি যেতে পারেন: ইউআরএল বা সরঞ্জামগুলিতে # কর্মী ডিবাগিং - সরঞ্জামদণ্ডে ওয়েব ডেভ - পরিষেবা কর্মী। শুরু করুন কর্মী!
স্টেন মুচো

@ স্টেনমুচোর উত্তর ক্রোম ম্যাক এবং উইন্ডোতে আমার জন্য কাজ করছে
মোহাম্মদ হুসেন

52

আপনি যদি কোনও প্রগতিশীল ওয়েব অ্যাপ্লিকেশনটির বাস্তব আচরণের পরীক্ষার জন্য প্লাগ-ইন মোবাইল ডিভাইসের পরিষেবা কর্মীকে ডিবাগ করতে চান তবে এসএসএল ক্রোম শুরুর বিকল্পগুলি সহায়তা করবে না এবং আপনাকে অবশ্যই শংসাপত্র কেনার দরকার নেই।

@ ক্রিস-রুপেল প্রক্সি সফ্টওয়্যার ইনস্টল করার কথা উল্লেখ করেছে, তবে পোর্ট ফরওয়ার্ডিং ব্যবহারের পক্ষে আসলে একটি সহজ উপায় রয়েছে :

ধরে নিচ্ছেন আপনি ক্রোম ব্যবহার করে আপনার ডিভাইস সংযুক্ত এবং ডিবাগ করছেন:

  • ইন ক্রোম দেব সরঞ্জাম "রিমোট ডিভাইসগুলি" খোলা "সেটিংস" এবং যোগ "পোর্ট ফরওয়ার্ডিং" নিয়ম।
  • যদি আপনার লোকালহোস্ট সেটআপ লোকালহোস্ট: 80 এ চলছে,
  • কেবলমাত্র "ডিভাইস পোর্ট 8080" একটি নিয়ম যুক্ত করুন (যে কোনও অনিবদ্ধ পোর্ট> 1024 হতে পারে)
  • এবং স্থানীয় ঠিকানা "লোকালহোস্ট: 80" (বা মাইস্টেসারভার.সোমেস্টেডোমোইন উইথআউটসাল.কম। প্যানি: ৮৮১১ বা যাই হোক না কেন)

এটি করার পরে, আপনি আপনার মোবাইল ডিভাইসে " http: // লোকালহোস্ট: 8080 " ইউআরএল কল করতে পারেন এবং এটি আপনার প্রকৃত পিসি / পরীক্ষার সার্ভারে "লোকালহোস্ট: 80" দ্বারা উত্তর দেওয়া হবে । পরিষেবা কর্মীদের সাথে নিখুঁতভাবে কাজ করে যেন এটি আপনার মোবাইলে আপনার স্থানীয় মেশিনটি চলছে।

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

এই তথ্যের উত্স হ'ল গুগল রিমোট ডিভাইস ডকুমেন্টেশন: https://developers.google.com/web/tools/chrome-devtools/remote-debugging/local-server (তবে এপ্রিল 2017 হিসাবে এটি পড়তে খুব পরিষ্কার নয় এর সহজ উত্তর)


প্রতিশ্রুতিবদ্ধ দেখায় তবে আমার পক্ষে কাজ করে না। পোর্ট ফরওয়ার্ডিং সেট আপ করার পরে অ্যান্ড্রয়েড 5.0.2 এ লোকালহোস্ট দেখার চেষ্টা করার সময় কেবল "এই সাইটে পৌঁছানো যায় না" বলেছিলেন।
জ্যাকসন

সুতরাং আপনার লোকালহোস্টে https দরকার নেই? এসডাব্লু ঠিকঠাক কাজ করবে?
মাচাডো

4
এটি গ্রহণযোগ্য উত্তর হওয়া উচিত, এটি
মিকেল

দ্রুত এবং সহজ! আপনার ফোনে ইউএসবি ডিবাগিং সক্ষম এবং গ্রহণ করতে ভুলবেন না এবং এটি USB এর মাধ্যমে আপনার পিসিতে প্লাগ করুন। ধন্যবাদ মানুষ!
মার্কোস আর

তবে কেবল HTTP- র জন্য, আপনি যদি https- র মাধ্যমে সংস্থানগুলি অনুরোধ করেন তবে সেগুলি ক্যাশে করা হবে না।
কিংবদন্তি

24

আমি প্রায়শই একটি ডিভাইস ডিবাগ করে পরীক্ষা করতে চাই। স্থানীয় বিকাশের সময় চার্লস প্রক্সির মাধ্যমে ফোনের নেটওয়ার্ক ট্র্যাফিককে রাউট করার সাথে আমি একটি পদ্ধতি নিয়ে এসেছি । সমস্ত ক্রোম-নির্দিষ্ট সমাধানগুলির বিপরীতে, এটি আপনার ফোনের যে কোনও ব্রাউজারের সাথে কাজ করে।

  1. আমার ল্যাপটপে চার্লস চালান (এটি সার্ভিস কর্মীর সাথে আমার ওয়েবসাইট পরিবেশন করে)। একবার চার্লস চালু হয়ে গেলে, দ্বিতীয় ধাপের জন্য আইপি / পোর্টটি লক্ষ্য করুন।
  2. প্রক্সি হিসাবে আমার ল্যাপটপটি ব্যবহার করতে মোবাইল ডিভাইসটি কনফিগার করুন।
    • অ্যান্ড্রয়েড শুধু আলতো চাপুন এবং সেটিংসে আপনার ওয়াইফাই> ধরে জন্য পরিবর্তন নেটওয়ার্কের > উন্নত সেটিংস > প্রক্সি । আইপি / পোর্ট সেট করতে ম্যানুয়াল ব্যবহার করুন ।
    • আইওএসের জন্য (i) আইকন> HTTP প্রক্সি বিভাগটি ক্লিক করুন। ম্যানুয়াল নির্বাচন করুন , তারপরে আইপি / পোর্ট সেট করুন।
  3. localhostআমার মোবাইল ডিভাইসে এখন পরিদর্শন করা সার্ভিস কর্মীকে নিবন্ধভুক্ত এবং পরীক্ষার অনুমতি দেয়।

4
আমিও এই সমস্যার মুখোমুখি হচ্ছি, অনেক অনেক ধন্যবাদ। মোবাইল পরীক্ষা করার জন্য এটি প্রক্সি ছাড়া সম্পূর্ণ অসম্ভব। এই পোস্টে আরও ভোট প্রয়োজন।
ফায়ো আরকার লুইন

4
@ chris-ruppel আসলে, Chrome ডি সরঞ্জামগুলি ইনবিল্ড রিমোট ডিভাইস পোর্ট ফরওয়ার্ডিং ব্যবহার না করে অতিরিক্ত প্রক্সি সফ্টওয়্যার ছাড়াই এটি করার একটি উপায় রয়েছে। আমি এই থ্রেডে একটি বিশদ উত্তর যুক্ত করেছি।
ক্রিস্টোফার লারকেন

"মোবাইল পরীক্ষা করা সম্পূর্ণ অসম্ভব;" তবে এটি একটি সামান্য তদারকি। আসুন সেই সমস্ত লোকদের প্রশংসা করি যারা পরিষেবা কর্মীদের বিশেষ করে দিয়েছিল ...
জ্যাকসন

ক্রিস আপনি কি "১. আমার ল্যাপটপে চার্লস চালান" তে বিস্তারিত বর্ণনা করতে পারেন? চার্লস প্রক্সি ইনস্টল করতে পারেন। তার কম্পিউটারে লোকালহোস্ট: 8080 এ সার্ভার চলছে। তারপর কি? আপনি "আইপি / পোর্টটি নোট করুন" বলবেন। কোথায়?
জ্যাকসন

4
@ ক্রিসরুপেল আমি এনগ্রোক.কম এ স্যুইচ করেছি : ফ্রি, আমার স্থানীয় অ্যাপ্লিকেশনটির জন্য একটি পাবলিক এইচটিটিপিএস সাইট তৈরি করে, এবং মনোহর মতো কাজ করে! এটি সংযুক্ত হওয়ার আগে প্রথম রানটি কিছুটা সময় নিয়েছিল। কেবলমাত্র আমি প্রস্তাব দিই তা হল আপনি মার্কিন যুক্তরাষ্ট্রে না থাকলে অঞ্চলগুলি স্যুইচ করা ( ngrok.com/docs#config-options , "অঞ্চলসমূহ" প্যারামিটার)।
কার্স্টেন সিল্জ

12

Pwa পরীক্ষা করার সবচেয়ে সহজ উপায়, আমার ক্ষেত্রে, এনগ্রোক ব্যবহার করা হয়েছিল। https://ngrok.com/ ডাউনলোড লগ ইন করুন, আপনার টোকেন পান এবং সেট করুন!

আপনি যখন চালান তখন ./ngrok http {your server port}নিশ্চিত হয়ে নিন যে আপনি এই https ব্যবহার করেছেন যা উপরে আপনি এই কমান্ডটি চালানোর পরে টার্মিনালে প্রদর্শিত হবে।


আপনি https://surge.sh টিও ব্যবহার করতে পারেন , এটি স্থির ওয়েবপৃষ্ঠাটি হোস্টের জন্য, আপনি যদি এখানে যান তবে: https://surge.sh/help/securing-your-custom-domain-with-ssl সক্ষম হতে সক্ষম হবে কিভাবে একটি এসএসএল শংসাপত্র সেট আপ করতে দেখুন


মোহন মত কাজ! মহান সুপারিশ জন্য আপনাকে ধন্যবাদ!
কার্স্টেন সিল্জ

এটিও সহায়তা করে, যদিও বাতিঘর ব্যবহার করে কোনও প্রতিবেদন তৈরি করতে আমার সমস্যা হচ্ছে
সিজে ওয়ালেস

4

আপনি যদি কোনও ক্লায়েন্ট ডিভাইসে পরিষেবা কর্মীদের পরীক্ষা করতে চান যা লোকালহোস্টে কোনও ওয়েব সার্ভার চালাতে পারে না, তবে সাধারণ কৌশলটি নীচে:

  1. আপনার সার্ভারকে একটি হোস্টনাম দিন।
  2. এই হোস্টনামকে একটি শংসাপত্র দিন।
  3. আইপিগুলিকে এই শংসাপত্র জারি করা সিএতে বিশ্বাস করুন।

তবে এটি করা চেয়ে সহজ। রেডডিটের নভেম্বর ২০১ A এএমএ-তে, একটি লেটস এনক্রিপ্টের প্রতিনিধি স্বীকার করে নিয়েছিল যে একটি ব্যক্তিগত ল্যানের উপর এইচটিটিপিএস "সত্যিই একটি কঠিন প্রশ্ন, এবং আমি মনে করি যে এখনও পর্যন্ত কেউ সন্তোষজনক উত্তর নিয়ে আসতে পারেনি।"

আপনার কম্পিউটারকে একটি হোস্টনাম দেওয়ার সাধারণ উপায়গুলির মধ্যে এটি একটি স্থিতিশীল অভ্যন্তরীণ আইপি ঠিকানা দেওয়া জড়িত, এটি প্রতিদিনের পরিবর্তিত নয় বা প্রতিবার আপনি যখন নিজের ইন্টারনেট গেটওয়ে যন্ত্রটিকে বিদ্যুতচক্র করে তখন তা পরিবর্তিত হয়। আপনাকে আপনার নেটওয়ার্কে ডিএইচসিপি সার্ভারটি কনফিগার করতে হবে, সাধারণত আপনার গেটওয়েতে এমন একটি "রিজার্ভেশন" সেটআপ করতে হবে যা আপনার বিকাশের ওয়ার্কস্টেশনের ইথারনেট কার্ডের ম্যাক ঠিকানার সাথে একটি নির্দিষ্ট ব্যক্তিগত ঠিকানা (স্বাভাবিকভাবেই 10/8বা এর মধ্যে 192.168/16) যুক্ত করে। এর জন্য, আপনার গেটওয়ের ম্যানুয়ালটি পড়ুন।

এখন আপনার বিকাশের ওয়ার্কস্টেশনে একটি স্থিতিশীল IP ঠিকানা রয়েছে, সময় / অর্থের বাণিজ্য রয়েছে। আপনি যদি উন্নত ডিএনএস এবং ওপেনএসএসএল ব্যবহার শিখতে এবং আপনি যে সমস্ত ডিভাইসগুলির সাথে পরীক্ষার পরিকল্পনা করছেন সেগুলিতে একটি মূল শংসাপত্র ইনস্টল করতে ইচ্ছুক:

  1. আপনার নেটওয়ার্কে একটি অভ্যন্তরীণ ডিএনএস সার্ভার চালান। এটি আপনার প্রবেশদ্বার বা আপনার বিকাশের ওয়ার্কস্টেশনে থাকতে পারে।
  2. আপনার ডিএনএস সার্ভারকে কিছু মেক-আপ টিএলডি এবং অন্যান্য টিএলডিগুলির জন্য পুনরাবৃত্তির জন্য অনুমোদনযোগ্য হিসাবে কনফিগার করুন।
  3. আপনার বিকাশ ওয়ার্কস্টেশনের ব্যক্তিগত আইপি ঠিকানায় একটি স্থিতিশীল নাম দিন। এটি এটিকে একটি অভ্যন্তরীণ নাম দেয়।
  4. ইজারা প্রাপ্ত অন্যান্য ডিভাইসগুলিতে এই ডিএনএস সার্ভারের ঠিকানা দেওয়ার জন্য আপনার ডিএইচসিপি সার্ভারটি কনফিগার করুন।
  5. আপনার ডেভলপমেন্ট ওয়ার্কস্টেশনে, কোনও ব্যক্তিগত শংসাপত্র কর্তৃপক্ষ এবং ওয়েব সার্ভারের কী- পেয়ারগুলি তৈরি করতে ওপেনএসএসএল ব্যবহার করুন ।
  6. ওপেনএসএসএল ব্যবহার করে, সিএর জন্য একটি মূল শংসাপত্র এবং ওয়েব সার্ভারের অভ্যন্তরীণ নামের জন্য একটি শংসাপত্র জারি করুন।
  7. এই শংসাপত্রটি ব্যবহার করে আপনার বিকাশ ওয়ার্কস্টেশনে ওয়েব সার্ভারে এইচটিটিপিএস কনফিগার করুন।
  8. সমস্ত ডিভাইসে সিএর রুট শংসাপত্রকে বিশ্বস্ত রুট শংসাপত্র হিসাবে ইনস্টল করুন।
  9. সমস্ত ডিভাইসে, এই অভ্যন্তরীণ নামটি অ্যাক্সেস করুন।

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

  1. রেজিস্ট্রার থেকে এমন একটি ডোমেন কিনুন যা কোনও এপিআই দিয়ে ডিএনএস দেয় । এটি সরাসরি একটি টিএলডির মধ্যে বা গতিশীল ডিএনএস সরবরাহকারীদের মধ্যে থেকে হতে পারে যা জনসাধারণের প্রত্যয় তালিকায় রেখেছে। (নন-পিএসএল ডায়নামিক ডিএনএস সরবরাহকারীরা লেট এনক্রিপ্টের দ্বারা আরোপিত হারের সীমাবদ্ধতার কারণে অগ্রহণযোগ্য ))
  2. এই ডোমেনের জোন ফাইলটিতে Aআপনার বিকাশ ওয়ার্কস্টেশনের ব্যক্তিগত আইপি ঠিকানায় একটি রেকর্ড নির্দেশ করুন । এটি আপনার বিকাশের ওয়ার্কস্টেশনকে এফকিউডিএন দেয়।
  3. ব্যবহারের নিরূদ , একটি একমি ক্লায়েন্ট যে সমর্থন dns-01চ্যালেঞ্জ, আসুন এনক্রিপ্ট শংসাপত্রের কর্তৃপক্ষ থেকে এই FQDN জন্য একটি শংসাপত্রের প্রাপ্ত।
  4. এই শংসাপত্রটি ব্যবহার করে আপনার বিকাশ ওয়ার্কস্টেশনে ওয়েব সার্ভারে এইচটিটিপিএস কনফিগার করুন।
  5. সমস্ত ডিভাইসে, এই নামটি অ্যাক্সেস করুন।

3

জেফ প্রথম প্রতিক্রিয়ায় যেমন উল্লেখ করেছেন, পরিষেবা ওয়ার্কারদের পরীক্ষা করার জন্য আপনার লোকালহোস্ট পর্যায়ে https দরকার নেই। পরিষেবা কর্মীরা যতক্ষণ না আপনি এইচটিটিপিএস ছাড়াই লোকালহোস্ট ডোমেন অ্যাক্সেস করবেন ঠিক ততক্ষণ নিবন্ধন করবেন এবং ঠিকঠাক কাজ করবেন।

একবার আপনি যদি আপনার অ্যাপ্লিকেশন লোকালহোস্টে পরীক্ষা করে নেন এবং আপনি https এর সাথে কীভাবে বাস্তবের জন্য কাজ করে তা দেখতে চান, সহজ অ্যাপ্লিকেশনটি হ'ল আপনার অ্যাপ্লিকেশনটি গিটহাবে আপলোড করা। আপনি নিখরচায় (এবং এইচটিটিপিএস সহ!) একটি সর্বজনীন ডোমেন তৈরি করতে পারেন।

এখানে নির্দেশাবলী: https://pages.github.com/


4
সফ্টওয়্যার প্রস্তাবনাগুলির জন্য ফলো-আপ প্রশ্নটি এক হবে: লোকালহোস্ট পদ্ধতিটি ব্যবহার করে কোনও মোবাইল ডিভাইসে পরীক্ষার জন্য আইওএস এবং অ্যান্ড্রয়েডের জন্য কোন ওয়েব সার্ভারগুলির পরামর্শ দেওয়া হয়?
দামিয়ান ইয়ারিক

আমি এরলং এইচটিটিপি সার্ভার ব্যবহার করছি তবে যে কোনও সার্ভারের কাজ করা উচিত। আমি ক্রোম থেকে 200 এইচটিটিপি সার্ভারের আগে ব্যবহার করেছি, আপনি গুগল মার্কেটপ্লেস থেকে অ্যাক্সেস করতে পারেন।
মিগুয়েল

1

আমি মনে করি পরিষেবা কর্মীদের পরীক্ষা করার সবচেয়ে সহজ উপায় হ'ল একটি নিখরচায় হোস্টিং সরবরাহকারী। আজকাল, অনেকগুলি সাইট যা নিখরচায় হোস্টিং সরবরাহ করে। আপনি এই ফ্রি সার্ভারগুলিতে সহজেই আপনার অ্যাপ্লিকেশনটি হোস্ট করতে পারেন।

আমি বেশিরভাগই হিরকু এবং নেটলিফ ব্যবহার করি । এটি নিখরচায় এবং সহজেই ব্যবহারযোগ্য।


0

আমি স্থানীয় আইপি টানেল করার জন্য এনগ্রোক ব্যবহার করেছি (এটি সত্যিই তা নয় কারণ এটি গুগল কোলাবে রয়েছে) একটি পাবলিকের কাছে to

যাওয়া সান্ত্বনা ngrok আমি সব নির্মিত টানেল দেখতে পারেন। আমি লোকালহোস্টের জন্য কেবল একটি টানেল তৈরি করেছি: বন্দর তবে এখানে 2 টি, এইচটিটিপির জন্য এবং অন্যটি এইচটিটিপিএসের জন্য রয়েছে (এটি দুর্দান্ত নয়?)

https://i.imgur.com/4v01j7k.png

আমি যদি আমার ওয়েব অ্যাপ্লিকেশনটির https ঠিকানায় যাই তবে কনসোলে আমি দেখতে পাচ্ছি https://i.imgur.com/5KKak9Y.png

তবে আমি যদি কনসোলটিতে http ঠিকানাতে যাই https://i.imgur.com/4oFUK1n.png


প্রশ্ন: আপনি কি এমন সার্ভিস কর্মীদের সাথে কাজ করতে পারেন যাদের টানেলের মাধ্যমে কোনও দূরবর্তী মেশিনে HTTP দরকার?

উত্তর: স্পষ্টতই হ্যাঁ!


এই নিবন্ধকরণের পিছনের কোডটি (এটি কোথায় ব্যর্থ হবে তা জানা গুরুত্বপূর্ণ):

// Here we register the SERVICE WORKER
IndexController.prototype._registerServiceWorker = function() { 

    console.log("1.Starting SW function."); 

    if (!navigator.serviceWorker) { 
        console.log("2.Browser is NOT compatible with SW or something is not working."); 
        return; } 

    console.log("2.Browser is compatible with SW.");

    navigator.serviceWorker.register('/sw.js').then(function() {
        console.log('3.Registration worked!');
    }).catch(function() {
        console.log('3.Registration failed!');
    });
};

এবং এটিকে আরও জটিল করে তোলার জন্য, সার্ভিস ওয়ার্কার্স ব্যবহার করে আমার ওয়েব অ্যাপটি কোলাবের ( গুগল কুলাব ) ভিতরে চলছে । ওয়েব অ্যাপটি কোলাবের অভ্যন্তরে নোড.জেজে চলছে।

আপনি যদি লোকালহোস্ট থেকে কাজ করছেন তবে এটি আপনার পক্ষে সহজ হওয়া উচিত, কারণ লোকালহোস্টের সাথে সংযোগ করার সময় https- র প্রয়োজনীয়তা প্রয়োগ করা হয় না (তত্ত্ব অনুসারে)। [এ] এবং [খ]

https://i.imgur.com/wAAZQFU.png

ব্রাউজারটি কেবল আপনার অ্যাপ্লিকেশানটিতে দুর্দান্ত হবে কারণ এটি লোকালহোস্টে চলে।


দ্রষ্টব্য: উপরে আমার পরীক্ষা ..

  • ফায়ারফক্স: নীচের সেটিংসগুলির সাথে এবং ছাড়াও কাজ করেছিল।
  • ক্রোম: শ্বেত তালিকায় ইউআরএল যোগ না করে পুনরায় আরম্ভ না করে পেয়েছি

আমি পেয়েছি https ওয়েব অ্যাপে যাচ্ছি:

IndexController.js:49 Mixed Content: The page at 'https://0a4e1e0095b0.ngrok.io/' was loaded over HTTPS, but attempted to connect to the insecure WebSocket endpoint 'ws://0a4e1e0095b0.ngrok.io/updates?since=1602934673264&'. This request has been blocked; this endpoint must be available over WSS.
IndexController._openSocket @ IndexController.js:49
IndexController @ IndexController.js:10
(anonymous) @ index.js:16
loadScripts @ loadScripts.js:5
46.../utils/loadScripts @ index.js:15
s @ _prelude.js:1
e @ _prelude.js:1
(anonymous) @ _prelude.js:1
IndexController.js:49 Uncaught DOMException: Failed to construct 'WebSocket': An insecure WebSocket connection may not be initiated from a page loaded over HTTPS.
    at IndexController._openSocket (https://0a4e1e0095b0.ngrok.io/js/main.js:2251:12)

HTTP ওয়েব অ্যাপ্লিকেশন এ গিয়ে আমি পেয়েছি:

Navigated to http://0a4e1e0095b0.ngrok.io/
IndexController.js:17 1.Starting SW function.
IndexController.js:19 2.Browser is NOT compatible with SW or something is not working.

আপনি যদি লোকালহোস্টে নেই এবং https ব্যবহার করতে না পারেন তবে আপনার ব্রাউজারে আপনাকে এই সেটিংস পরিবর্তন করতে হতে পারে।


কিছু লোক ইতিমধ্যে এটি ব্যাখ্যা করেছে তবে এখানে এটি আবার যায়।

ক্রোম:

  1. ক্রোমে যান: // ফ্ল্যাগ / # অনিরাপদভাবে-ট্রিট-অনিরাপদ-উত্স-হিসাবে-সুরক্ষিত
  2. আপনি হোয়াইটলিস্ট করতে চান এমন url যুক্ত করুন।
  3. ক্রোম পুনরায় চালু করুন

নোট করুন যে এটি সমস্ত ক্রোম উইন্ডোজ পুনরায় চালু করবে । এটি আমার পক্ষে কোনও সমাধান নয় কারণ আমার টানেলগুলি যখনই তৈরি হয় ততবার নাম পরিবর্তন করে এবং আমি প্রতিবার একটি গুচ্ছ উইন্ডোজ পুনরায় চালু করতে পারি না।

https://i.imgur.com/3n4gMoR.png


ফায়ারফক্স / ওয়াটারফক্স

  1. বিকাশকারী সরঞ্জাম খুলুন
  2. ওপেন সেটিংস
  3. "HTTP- র মাধ্যমে পরিষেবা কর্মীদের সক্ষম করুন (যখন টুলবক্স খোলা থাকে)" চিহ্নিত করুন

https://giphy.com/gifs/oA6ZoXqqzdFnxLrZmQ


ফায়ারফক্স / ওয়াটারফক্স আপনার নীচের পরিবর্তনগুলি সম্ভবত করার দরকার নেই, তবে আমি করেছি (আমার ব্রাউজারটি কিছুটা পুরানো হতে পারে)। আরও তথ্য এখানে

সম্পর্কে: কনফিগার

https://i.imgur.com/CjboKnK.png আমি সক্ষম

dom.serviceWorkers.testing.enabled
dom.serviceWorkers.enabled

আমি একই সাইটের এই https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API/Using_Service_Workers এবং সম্পর্কিত পৃষ্ঠাগুলি দেখার পরামর্শ দিচ্ছি ।


যদি কেউ এনগ্রোক সেটআপে আগ্রহী হন তবে এটি খুব সহজ (পাইথন সংস্করণ)।

#   Install pyngrok python package on your Google Colab Session
!pip install pyngrok

#    Set up your ngrok Authtoken (requires free registration)
!ngrok authtoken YOUR_TOKEN_HERE


#    Invoke ngrok from Python and start tunneling/connecting
from pyngrok import ngrok 

# Open a HTTP tunnel on the default port 80 if not specified
ngrok_tunnel = ngrok.connect('8888')

# You can print it, or go to the ngrok console on https://dashboard.ngrok.com/status/tunnels
print (ngrok_tunnel.public_url)

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