আইআইএস এক্সপ্রেসে আমি কীভাবে দূরবর্তী অনুরোধগুলি সক্ষম করতে পারি? স্কট গুথ্রি লিখেছেন যে এটি সম্ভব তবে তিনি কীভাবে তা বলেননি।
আইআইএস এক্সপ্রেসে আমি কীভাবে দূরবর্তী অনুরোধগুলি সক্ষম করতে পারি? স্কট গুথ্রি লিখেছেন যে এটি সম্ভব তবে তিনি কীভাবে তা বলেননি।
উত্তর:
আইআইএস টিমের সাইটে এখন একটি ব্লগ পোস্ট রয়েছে যা কীভাবে আইআইএস এক্সপ্রেসে দূরবর্তী সংযোগ সক্ষম করতে হবে তা ব্যাখ্যা করে । এখানে সংক্ষেপে সেই পোস্টের প্রাসঙ্গিক অংশটি দেওয়া হল:
ভিস্তা এবং উইন 7-তে প্রশাসনিক প্রম্পট থেকে নিম্নলিখিত কমান্ডটি চালান:
netsh http add urlacl url=http://vaidesg:8080/ user=everyone
এক্সপির জন্য প্রথমে উইন্ডোজ এক্সপি সার্ভিস প্যাক 2 সমর্থন সরঞ্জাম ইনস্টল করুন। তারপরে প্রশাসনিক প্রম্পট থেকে নিম্নলিখিত কমান্ডটি চালান:
httpcfg set urlacl /u http://vaidesg1:8080/ /a D:(A;;GX;;;WD)
netsh
সংযোগ দেওয়ার অনুমতি আছে কি ?
user={PARAM_USER}
আপনার নিজের ভাষায় থাকবে।
user=todos
পরিবর্তে ব্যবহার করুন user=everyone
।
আপনার তিনটি পরিবর্তন করতে হবে।
.config
ফাইল এ। সাধারণত:
$(solutionDir)\.vs\config\applicationhost.config
%userprofile%\My Documents\IISExpress\config\applicationhost.config
আপনার সাইটের বাইন্ডিং উপাদান আবিষ্কার করুন এবং যুক্ত করুন
<binding protocol="http" bindingInformation="*:8080:*" />
netsh http add urlacl url=http://*:8080/ user=everyone
everyone
উইন্ডোজ গ্রুপ যেখানে । "টাউট লে ম্যান্ডে" এর মতো স্পেস সহ গ্রুপগুলির জন্য ডাবল কোট ব্যবহার করুন।
উইন্ডোজ ফায়ারওয়ালের মাধ্যমে আইআইএস এক্সপ্রেসকে মঞ্জুরি দিন।
উন্নত সুরক্ষা / ইনবাউন্ড বিধি / নতুন বিধি সহ উইন্ডোজ ফায়ারওয়াল শুরু করুন ...
প্রোগ্রাম
%ProgramFiles%\IIS Express\iisexpress.exe
বা পোর্ট 8080 টিসিপি
এখন আপনি যখন শুরু করবেন iisexpress.exe
আপনার যেমন একটি বার্তা দেখা উচিত
"হ্যালো ওয়ার্ল্ড" অ্যাপ্লিকেশন "/" সাইটের জন্য সফলভাবে নিবন্ধিত URL "http: // *: 8080 /"
users=everyone
জন্য netsh
(দ্বিতীয় ধাপ) ত্রুটি 1789. সলিউশন অনুবাদ করতে হয় কারণ হতে পারে everyone
আপনার ভাষায় সংশ্লিষ্ট গ্রুপের নাম হয়।
Project Url
, আমি যদি হোস্টনামের জন্য একটি নক্ষত্র প্রবেশ করি তবে এটি একটি ত্রুটি দেয়। আমি যদি অন্য কিছু প্রবেশ করি তবে এটি একটি নতুন ভার্চুয়াল ডিরেক্টরি বানানোর চেষ্টা করে। এটি অ্যাপ্লিকেশন। কনফিগ-এ প্রবেশের সাথে লিঙ্ক দেয় না।
bindingInformation="*:8080:hostname"
এবং দ্বিতীয় ধাপে url=http://hostname:8080/
এবং ওয়েব ট্যাব প্রজেক্ট url তে আপনার ভিজ্যুয়াল স্টুডিও ওয়েব প্রকল্পের বৈশিষ্ট্যগুলিতে ব্যবহার করতে হবে http://hostname:8080/
। *
আপনি ইতিমধ্যে একটি তৈরি করে থাকলে urlacl মুছুন ; আপনার দু'জন থাকলে এটি চলবে না। অবশেষে, আপনি আপনার ওয়েব ব্রাউজারে যে URL এ যান তার অবশ্যই স্থানীয় হোস্ট নয়, হোস্টনামটি উল্লেখ করা উচিত।
<binding protocol="http" bindingInformation="*:8080:localhost" />
আমি মনে করি কয়েক মাস আগে এই ওয়ার্কফ্লোটি চেষ্টা করার সময় একই সমস্যার মধ্যে পড়েছিলাম।
যে কারণে আমি এই ধরণের দৃশ্যের জন্য বিশেষ করে একটি সাধারণ প্রক্সি ইউটিলিটি লিখেছি: https://github.com/icflorescu/iisexpress-proxy ।
আইআইএস এক্সপ্রেস প্রক্সি ব্যবহার করে , এটি সমস্ত কিছু সহজ হয়ে যায় - "নেট নেট পোস্টটি ইউআরএলসিএল ইউআরএল = ভাইয়েসগ: ৮০৮০ / ব্যবহারকারীর = প্রত্যেকে" যুক্ত করতে বা আপনার "অ্যাপ্লিকেশনহোস্ট.কনফিগ" এর সাথে জড়িত হওয়ার দরকার নেই।
কমান্ড প্রম্পটটি কেবল এটি জারি করুন:
iisexpress-proxy 8080 to 3000
… এবং তারপরে আপনি আপনার দূরবর্তী ডিভাইসগুলিকে http: // vaidesg: 3000 এ নির্দেশ করতে পারেন ।
বেশিরভাগ সময় সরল আইএস ভাল।
আমি আইসপ্রেস-প্রক্সি না পাওয়া পর্যন্ত আমার পক্ষে কিছুই কাজ করেনি ।
প্রশাসক হিসাবে ওপেন কমান্ড প্রম্পট, তারপরে চালান
npm install -g iisexpress-proxy
তারপর
iisexpress-proxy 51123 to 81
ধরে নিলে আপনার ভিজ্যুয়াল স্টুডিও প্রকল্পটি লোকালহোস্টে খোলে: 51123 এবং আপনি বাহ্যিক আইপি ঠিকানায় অ্যাক্সেস করতে চান xxxx: 81
সম্পাদনা: আমি বর্তমানে ব্যবহার করছি ngrok
এটির প্রত্যেকেই:
netsh http add urlacl url=http://vaidesg:8080/ user=everyone
এটি কেবল উইন্ডোজের ইংরেজি সংস্করণে কাজ করবে। যদি আপনি একটি স্থানীয় সংস্করণ ব্যবহার করে থাকেন তবে আপনাকে "প্রত্যেকে" অন্য কোনও কিছুর সাথে প্রতিস্থাপন করতে হবে, উদাহরণস্বরূপ:
অন্যথায় আপনি একটি ত্রুটি পাবেন (এসডিডিএল তৈরি করতে ব্যর্থ হয়েছে, ত্রুটি: 1332)
একটি ভাল রিসোর্স এসএসএলের সাথে ডেভলপমেন্ট টাইমে কাজ করা স্কট হ্যানসেলম্যানের আইআইএসইপ্রেসের মাধ্যমে আরও সহজ is
আপনি যা করছেন তার পরে এই অংশটি আইআইএস এক্সপ্রেসটি পোর্ট 80 এর বাইরে বহিরাগতভাবে পরিবেশন করতে পাওয়া
আপনি যদি ভিজ্যুয়াল স্টুডিওতে কাজ করছেন তবে আইপি-অ্যাড্রেসের মাধ্যমে আইআইএস-এক্সপ্রেস অ্যাক্সেস করতে এই পদক্ষেপগুলি অনুসরণ করুন:
ipconfig
উইন্ডোজ কমান্ড লাইনেযাও
$(SolutionDir)\.vs\config\applicationHost.config
অনুসন্ধান
<site name="WebApplication3" id="2">
<application path="/" applicationPool="Clr4IntegratedAppPool">
<virtualDirectory path="/" physicalPath="C:\Users\user.name\Source\Repos\protoype-one\WebApplication3" />
</application>
<bindings>
<binding protocol="http" bindingInformation="*:62549:localhost" />
</bindings>
</site>
যুক্ত করুন:
<binding protocol="http" bindingInformation="*:62549:192.168.178.108"/>
আপনার আইপি-ঠিকানা দিয়ে
আমি ভিজ্যুয়াল স্টুডিও প্রফেশনাল 2015 এ "কিওটি বাই কনভেয়ার" ইনস্টল করার মাধ্যমে এটি সমাধান করেছি Con উদাহরণ:
কনভেয়র আপনাকে আপনার নেটওয়ার্কের বাইরের ট্যাবলেট এবং ফোন থেকে বা অ্যান্ড্রয়েড এমুলেটরগুলি (ছাড়াই http://10.0.2.2:<hostport>
) ওয়েব অ্যাপ্লিকেশনগুলি পরীক্ষা করতে দেয়
পদক্ষেপগুলি নিম্নলিখিত লিঙ্কে রয়েছে:
https://marketplace.visualstudio.com/items?itemName=vs-publisher-1448185.ConveyorbyKeyoti
আপনি যদি কর্নেল প্যানিকের উত্তরটি চেষ্টা করে দেখেছেন তবে ভিজ্যুয়াল স্টুডিওতে কাজ না করে থাকেন তবে এটি চেষ্টা করুন:
<binding />
আপনার আইআইএস এক্সপ্রেস কনফিগারেশনে অন্য একটি যুক্ত করুন
<bindings>
<binding protocol="http" bindingInformation="*:8080:localhost" />
<binding protocol="http" bindingInformation="*:8080:hostname" />
</bindings>
শেষ অবধি, আপনাকে প্রশাসক হিসাবে ভিজ্যুয়াল স্টুডিও চালাতে হবে
আমাকে কী সাহায্য করেছিল, তা 'আইআইএসইএক্সপ্রেস' আইকনটি, 'সমস্ত অ্যাপ্লিকেশনগুলি দেখান' এ ক্লিক করা ছিল। তারপরে ওয়েবসাইটটি নির্বাচন করে এবং আমি দেখেছি এটি কোন অ্যাপ্লিকেশনহোস্ট.কনফিগ ব্যবহার করে এবং সংশোধনটি পুরোপুরি কার্যকর হয়েছিল।
উইন্ডোজ 10 এর জন্য আমি ভিজ্যুয়াল স্টুডিও 2015 দিয়ে রিমোট অ্যাক্সেস সক্ষম করতে, http এবং https উভয়েরই জন্য এটি করেছি:
প্রথম পদক্ষেপটি আপনার অ্যাপ্লিকেশনটিকে আপনার অভ্যন্তরীণ আইপি ঠিকানার সাথে আবদ্ধ করা। ঠিকানাটি চালাতে cmd
-> চালান ipconfig
। /{project folder}/.vs/config/applicationhost.config
আপনি এই জাতীয় কিছু না পাওয়া পর্যন্ত ফাইলটি খুলুন এবং নীচে স্ক্রোল করুন:
<site name="Project.Web" id="2">
<application path="/">
<virtualDirectory path="/" physicalPath="C:\Project\Project.Web" />
</application>
<bindings>
<binding protocol="http" bindingInformation="*:12345:localhost" />
</bindings>
</site>
এর অধীনে দুটি নতুন বাইন্ডিং যুক্ত করুন bindings
। আপনি চাইলে এইচটিটিপিএসও ব্যবহার করতে পারেন:
<binding protocol="http" bindingInformation="*:12345:192.168.1.15" />
<binding protocol="https" bindingInformation="*:44300:192.168.1.15" />
আপনার ফায়ারওয়ালে নিম্নলিখিত নিয়মটি যুক্ত করুন, একটি নতুন খুলুন cmd
প্রশাসক হিসাবে প্রম্পট এবং নিম্নলিখিত আদেশগুলি চালান:
netsh advfirewall firewall add rule name="IISExpressWeb" dir=in protocol=tcp localport=12345 profile=private remoteip=localsubnet action=allow
netsh advfirewall firewall add rule name="IISExpressWebHttps" dir=in protocol=tcp localport=44300 profile=private remoteip=localsubnet action=allow
এখন হিসাবে ভিজ্যুয়াল স্টুডিও শুরু করুন Administrator
। ওয়েব প্রকল্পের প্রকল্পের ফাইলটিতে রাইট ক্লিক করুন এবং নির্বাচন করুন Properties
। Web
ট্যাবে যান , এবং ক্লিক করুন Create Virtual Directory
। যদি ভিজ্যুয়াল স্টুডিও প্রশাসক হিসাবে চালিত না হয় তবে এটি সম্ভবত ব্যর্থ হবে। এখন সবকিছু কাজ করা উচিত।
এই প্রশ্নের স্বীকৃত উত্তরটি আইআইএস এক্সপ্রেসকে ওয়েবম্যাট্রিক্সের সাথে কাজ করার জন্য একটি গাইড। ভিএস 2010 এর সাথে এটির কাজ করার চেষ্টা করার সময় আমি এই গাইডটিকে আরও দরকারী বলে মনে করি।
আমি মাত্র 3 এবং 4 পদক্ষেপ অনুসরণ করেছি (প্রশাসক হিসাবে আইআইএস এক্সপ্রেস চালাচ্ছি) এবং আমার ফায়ারওয়ালটি এটির কাজ করতে অস্থায়ীভাবে অক্ষম করতে হয়েছিল।
আপনি নিজের আইআইএস এক্সপ্রেস কনফিগারেশনটি সংশোধন করার পরিবর্তে, নতুন HTTP.sys বিধি যুক্ত করতে বা অ্যাডমিন হিসাবে ভিজুয়াল স্টুডিও চালানোর পরিবর্তে পোর্ট ফরওয়ার্ডিং সেটআপ করার চেষ্টা করতে পারেন।
মূলত আপনার এগিয়ে যেতে হবে IP:PORT
নিজের ওয়েবসাইটটি আপনার মেশিনের অন্য কোনও মুক্ত পোর্টে চালিত করতে হবে তবে লোকালহোস্ট নয়, বহিরাগত নেটওয়ার্ক অ্যাডাপ্টারে on
জিনিসটি হ'ল আইআইএস এক্সপ্রেস (অন্তত উইন্ডোজ 10 এ) এর সাথে আবদ্ধ [::1]:port
অর্থ এটি আইপিভি 6 পোর্টে শুনেছে। আপনার এটি অ্যাকাউন্টে নেওয়া দরকার।
এই কাজটি আমি এখানে কীভাবে করেছি - http://programmingflow.com/2017/02/25/iis-express-on-ternternal-ip.html
আশা করি এটা সাহায্য করবে.
সবচেয়ে সহজ এবং দুর্দান্ত উপায়টি আমি খুঁজে পেলাম (এটি সেট আপ করতে 2 মিনিট সময় নেয়):
এটি লোকালহোস্টে চলমান যে কোনও কিছু নিয়ে কাজ করবে। কেবল সাইনআপ করুন, কিছুটা এক্সটুটেবল রান করুন এবং আপনি লোকালহোস্টে যা চালান তা পাবলিক ইউআরএল পায় আপনি যে কোনও জায়গা থেকে অ্যাক্সেস করতে পারবেন।
আপনার দূরবর্তী দলের সাথীদের কাছে স্টাফ দেখানোর জন্য এটি ভাল, আইআইএস সেটআপ বা ফায়ারওয়ালগুলির সাথে কোনও ফিডিং নয়। কেবল এক্সিকিউটেবলের সমাপ্তি অ্যাক্সেস বন্ধ করতে চান।
ngrok authtoken xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
ngrok http -host-header=localhost 89230
89230 হ'ল এটি আপনার আইআইএস এক্সপ্রেস বন্দর
আপনি নিখরচায় এমনকি একাধিক বন্দর চালাতে পারেন
উইন 8.1 এবং বহিরাগত অনুরোধে আইআইএস এক্সপ্রেসটি ব্যবহার করতে আমার কিছু সমস্যা আছে।
আমি বাহ্যিক অনুরোধটি ডিবাগ করার জন্য এই পদক্ষেপগুলি অনুসরণ করি:
ইহা কাজ করছে!
আপনি যদি অ্যাডমিন থেকে ভিজ্যুয়াল স্টুডিও চালান তবে আপনি কেবল যুক্ত করতে পারেন
<binding protocol="http" bindingInformation="*:8080:*" />
অথবা
<binding protocol="https" bindingInformation="*:8443:*" />
মধ্যে
%userprofile%\My Documents\IISExpress\config\applicationhost.config
$(SolutionDir).vs\config\applicationHost.config
এবং এছাড়াও, আমাকে উইন্ডোজ ফায়ারওয়ালে অ্যাপ্লিকেশনটির পোর্ট (8443) খুলতে হয়েছিল।
আমি একটি স্থানীয় আইআইএস সক্ষম করেছিলাম তাই আমি আমার ডিবাগিং বন্দরে একটি পুনর্লিখনের নিয়ম তৈরি করেছি ... আমি মনে করি এটি অন্যান্য পদ্ধতির তুলনায় এটি আরও ভাল এবং শীতল কারণ একবার বিকাশ শেষ হয়ে গেলে এটি অপসারণ করা আরও সহজ ... পুনর্লিখনটি কীভাবে দেখায় তা এখানে। ।
<rewrite>
<rules>
<rule name="ReverseProxyInboundRule1" stopProcessing="true">
<match url="^dev/(.*)" />
<action type="Rewrite" url="http://localhost:47039/{R:1}" />
</rule>
</rules>
</rewrite>
ভিএস আপনাকে সরাসরি আপনার স্থানীয় আইআইএস ব্যবহার করে বিকাশ করতে দেয় (যা তারপরে দূরবর্তী সংযোগগুলির অনুমতি দেয়) তবে পরিবর্তে আপনাকে অবশ্যই সর্বদা এটি প্রশাসক হিসাবে চালানো উচিত ... আমি এটি পছন্দ করি না।
আমি বিপরীত প্রক্সি পদ্ধতির ব্যবহার করে এই সমস্যাটি সমাধান করেছি।
আমি ওয়্যাম্প সার্ভার ইনস্টল করেছি এবং অ্যাপাচি ওয়েব সার্ভারের সহজ বিপরীত প্রক্সি বৈশিষ্ট্যটি ব্যবহার করেছি।
আমি অ্যাপাচি ওয়েব সার্ভার (8081) শোনার জন্য একটি নতুন বন্দর যুক্ত করেছি। তারপরে আমি সেই বন্দরের ভার্চুয়ালহোস্ট হিসাবে প্রক্সি কনফিগারেশন যুক্ত করেছি।
<VirtualHost *:8081>
ProxyPass / http://localhost:46935/
ProxyPassReverse / http://localhost:46935/
</VirtualHost>
আমি এই সমস্ত পদক্ষেপগুলি করেছি এবং কিছুই আমাকে সাহায্য করেনি। এবং আমার যা দরকার তা কেবল আইআইএস এক্সপ্রেসের মাধ্যমে আমার অ্যাপটি চালানো ...
আশা করি এটা সাহায্য করবে.
আমি আমার স্থানীয় নেটওয়ার্কের অন্যান্য ব্যবহারকারীদের কাছে iis অনুরোধগুলি পরিবেশন করতে অক্ষম ছিলাম, আমাকে যা করতে হয়েছিল (উপরের পাশাপাশি) আমার বিটি হাব রাউটারটি পুনরায় চালু করতে হবে।
এটি অত্যন্ত বিস্ময়কর এবং এমনকি সুন্দর ডোমেন নাম সহ এইচটিটিপিএসকে কভার করে:
http://www.hanselman.com/blog/WorkingWithSSLAtDevelopmentTimeIsEasierWithIISExpress.aspx
সত্যিকারের দুর্দান্ত অংশগুলি উপরের লিঙ্কটি যদি কখনও চলে যায় তবে আমি অন্য কোথাও SO- তে খুঁজে পাইনি:
> C:\Program Files (x86)\IIS Express>IisExpressAdminCmd.exe Usage:
> iisexpressadmincmd.exe <command> <parameters> Supported commands:
> setupFriendlyHostnameUrl -url:<url>
> deleteFriendlyHostnameUrl -url:<url>
> setupUrl -url:<url>
> deleteUrl -url:<url>
> setupSslUrl -url:<url> -CertHash:<value>
> setupSslUrl -url:<url> -UseSelfSigned
> deleteSslUrl -url:<url>
>
> Examples: 1) Configure "http.sys" and "hosts" file for friendly
> hostname "contoso": iisexpressadmincmd setupFriendlyHostnameUrl
> -url:http://contoso:80/ 2) Remove "http.sys" configuration and "hosts" file entry for the friendly hostname "contoso": iisexpressadmincmd
> deleteFriendlyHostnameUrl -url:http://contoso:80/
উপরের ইউটিলিটিটি আপনার জন্য এসএসএল শংসাপত্রটি রেজিস্টার করবে! আপনি যদি ব্যবহারকারীর স্বাক্ষরিত বিকল্পটি ব্যবহার করেন তবে এটি অত্যন্ত সহজ।
আপনি যদি জিনিসগুলি খুব শক্তভাবে করতে চান তবে অ-স্পষ্ট অংশটি আপনাকে HTTP.SYS কে জানাতে হবে কোন শংসাপত্র ব্যবহার করতে হবে, এর মতো:
netsh http add sslcert ipport=0.0.0.0:443 appid={214124cd-d05b-4309-9af9-9caa44b2b74a} certhash=YOURCERTHASHHERE
সারথ্যাশ হ'ল "থাম্বপ্রিন্ট" আপনি এমএমসিতে শংসাপত্রের বৈশিষ্ট্য থেকে পেতে পারেন।
আমি নিম্নলিখিতগুলি করেছি এবং সংযোগ করতে সক্ষম হয়েছি:
1) স্থানীয় হোস্ট থেকে '*' এ রূপান্তরিত আইআইএস এক্সপ্রেস কনফিগারেশন
বাইন্ডিং প্রোটোকল = "http" বাইন্ডিং তথ্য = "*: 8888: *"
2) প্রোটোকল প্রকারের জন্য নির্দিষ্ট বন্দরটির অনুমতি দেওয়ার জন্য ফায়ারওয়ালের উপর সংজ্ঞায়িত অভ্যন্তরীণ নিয়ম: টিসিপি
3) আপনার বন্দরের জন্য নেটওয়ার্ক কনফিগারেশন যুক্ত করতে নিম্নলিখিত কমান্ডটি যুক্ত করুন: netsh http যুক্ত urlacl url = http: // *: 8888 / ব্যবহারকারী = প্রত্যেকে
[প্রকল্পের বৈশিষ্ট্য সংলাপ]
ভিজুয়ালস্টুডিও 2017 এবং একটি নেটকোরি এপিআই-প্রকল্প ব্যবহার করে বিকাশের জন্য:
1) সিএমডি-বাক্সে: আইপি-ঠিকানা নির্ধারণ করতে আইকনফিগ / সমস্ত
2 ক) প্রকল্পের বৈশিষ্ট্যগুলিতে পুনরুদ্ধার করা আইপি-ঠিকানা লিখুন-> ডিবাগ ট্যাব
2 খ) একটি পোর্ট নির্বাচন করুন এবং এটি পদক্ষেপ 2a থেকে আইপি-ঠিকানার সাথে সংযুক্ত করুন।
3) নির্বাচিত বন্দরে আগত টিসিপি-ট্র্যাফিকের অনুমতি দেওয়ার জন্য ফায়ারওয়ালে একটি অনুমতি বিধি যুক্ত করুন (আমার ফায়ারওয়াল একটি ডায়ালগের সাথে ট্রিগার করেছে: "ব্লক করুন বা ফায়ারওয়ালে নিয়ম যুক্ত করুন")। সেক্ষেত্রে অ্যাড উইল কৌতুক করবে।
উপরের সমাধানের অসুবিধা:
1) আপনি যদি কোনও গতিশীল আইপি-ঠিকানা ব্যবহার করেন তবে অন্য আইপি-ঠিকানা বরাদ্দের ক্ষেত্রে আপনাকে উপরের পদক্ষেপগুলি আবার করতে হবে।
2) আপনার সার্ভারে এখন একটি খোলা পোর্ট রয়েছে যা আপনি ভুলে যেতে পারেন, তবে এই উন্মুক্ত পোর্টটি অযাচিত অতিথিদের জন্য একটি আমন্ত্রণ হিসাবে রয়ে গেছে।