বিভিন্ন হোস্ট থেকে টমকেট ম্যানেজার অ্যাপ্লিকেশন অ্যাক্সেস করুন


95

আমি একটি রিমোট সেভারে টমক্যাট 9 ইনস্টল করেছি এবং এটি শুরু করার পরে, এটি সূক্ষ্মভাবে উত্থাপিত হয়েছিল, আমি http: // হোস্ট_নেম: পোর্ট_নাম অ্যাক্সেস করতে পারি এবং টমক্যাট হ্যালো পৃষ্ঠাটি দেখতে পাচ্ছি। তবে আমি যখন আমার মোতায়েন করা অ্যাপ্লিকেশনগুলি দেখার জন্য পরিচালক অ্যাপ্লিকেশনটি খোলার চেষ্টা করি, তখন আমি 403 অ্যাক্সেস প্রত্যাখ্যান করি, আমি ইতিমধ্যে টমক্যাট ব্যবহারকারী এক্সএমএলে ভূমিকাগুলি যুক্ত করেছি:

<role rolename="manager"/>
<role rolename="manager-gui"/>
<role rolename="admin"/>
<user username="user" password="password" roles="admin,manager,manager-gui"/>

আমি যে ত্রুটি বার্তাগুলি দেখেছি তা হ'ল:

ডিফল্টরূপে হোস্ট ম্যানেজার কেবল টমক্যাট হিসাবে একই মেশিনে চলমান ব্রাউজার থেকে অ্যাক্সেসযোগ্য। আপনি যদি এই বিধিনিষেধটি সংশোধন করতে চান তবে আপনাকে হোস্ট ম্যানেজারের কনটেক্সট.এক্সএমএল ফাইলটি সম্পাদনা করতে হবে।

আমার কীভাবে কনটেক্সট.এক্সএমএল ফাইল পরিবর্তন করতে হবে এবং ম্যানেজার অ্যাপ্লিকেশনটিতে অ্যাক্সেস পাওয়া উচিত?

উত্তর:


143

প্রতিটি মোতায়েন করা ওয়েব অ্যাপের মধ্যে একটি context.xmlফাইল থাকে যা বাস করে

$CATALINA_BASE/conf/[enginename]/[hostname]

(conf/Catalina/localhost by default)

এবং ওয়েবঅ্যাপের মতো একই নাম রয়েছে ( manager.xmlএই ক্ষেত্রে)। কোনও ফাইল উপস্থিত না থাকলে ডিফল্ট মান ব্যবহৃত হয়।

সুতরাং, আপনাকে একটি ফাইল তৈরি করতে হবে conf/Catalina/localhost/manager.xmlএবং নিয়মটি নির্দিষ্ট করতে হবে যা আপনি দূরবর্তী অ্যাক্সেসের অনুমতি দিতে চান specify উদাহরণস্বরূপ, এর নীচের সামগ্রীটি manager.xmlসমস্ত মেশিন থেকে অ্যাক্সেসের অনুমতি দেবে:

<Context privileged="true" antiResourceLocking="false" 
         docBase="${catalina.home}/webapps/manager">
    <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" />
</Context>

নোট করুন যে Valveউপাদানটির অনুমতি বৈশিষ্ট্যটি একটি নিয়মিত প্রকাশ যা সংযোগকারী হোস্টের আইপি ঠিকানার সাথে মেলে। অন্যান্য Valveক্লাসগুলি অন্যান্য নিয়মগুলি পূরণ করে (যেমন RemoteHostValveহোস্টের নামের সাথে মিলে যায়)।

উপরের পরিবর্তনগুলি একবার হয়ে গেলে, পরিচালক ইউআরএল অ্যাক্সেস করার সময় আপনাকে একটি প্রমাণীকরণ ডায়ালগ উপস্থিত করা উচিত। আপনি সরবরাহিত বিশদটি যদি প্রবেশ করেন তবে আপনার tomcat-users.xmlম্যানেজারের অ্যাক্সেস থাকা উচিত।


টমক্যাটটি বন্ধ না করে এবং না চালিয়ে এই কনফিগারেশন পরিবর্তনগুলি লোড করার জন্য কী করা উচিত?
কুলদীপ যাদব

403 অ্যাক্সেস অস্বীকৃত
দামির ওলেজার

4
টমক্যাট ৮-এ, আপনাকে কিছু করার দরকার নেই, এই কনফিগারেশন পরিবর্তনগুলি অবিলম্বে কার্যকর হবে।
আয়ুষ্যা

4
অবশেষে কিছু চেষ্টা করার পরে আমার জন্য কাজ। "কনফারেন্স / ক্যাটালিনা / লোকালহোস্ট" ম্যানেজার.এক্সএমএল ফাইলের মধ্যে পরিবর্তনগুলি করার সময় আমি কনটেক্সট.এক্সএমএল ফাইলটিতে পরিবর্তন করার চেষ্টা করছিলাম। এটি উপস্থিত না থাকলে কেবল একটি তৈরি করা দরকার।
jellboi

টমক্যাট 8.5.37 এর জন্য, আমাকে আরও অন্তর্ভুক্ত করতে হয়েছিল: <ভালভ শ্রেণীর নাম = "org.apache.catalina.valves.RemoteIpValve" />
মোঃ

152

টমক্যাট ভি 8.5.4 বা তারও উপরে, ফাইলটি <tomcat>/webapps/manager/META-INF/context.xmlসামঞ্জস্য করা হয়েছে:

<Context antiResourceLocking="false" privileged="true" >
    <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
</Context>

মন্তব্য করতে এই ফাইলটি পরিবর্তন করুন Valve:

<Context antiResourceLocking="false" privileged="true" >
    <!--
    <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
    -->
</Context>

এর পরে, আপনার ব্রাউজারটি রিফ্রেশ করুন (টমক্যাট পুনরায় চালু করার দরকার নেই), আপনি পরিচালক পৃষ্ঠাটি দেখতে পারেন।


8.5.0 এ কাজ করে তবে পুনঃসূচনা প্রয়োজন ছিল। ধন্যবাদ!
জে রিচার্ডস্

4
আমাকে প্রায় 10-15 সেকেন্ড অপেক্ষা করতে হয়েছিল, তবে 8.5.11 এ পুনরায় আরম্ভ করার দরকার নেই। ধন্যবাদ!
কার্ল হেন্সলিন

4
পুনরায় আরম্ভ না করে 8.5.9 এ কাজ করেছেন। যাইহোক, উইন্ডোজ 7 মেশিনে প্রয়োগ করতে প্রায় 15 সেকেন্ড সময় নিয়েছিল। ধন্যবাদ!
সিবিএমিক্স

403 অ্যাক্সেস অস্বীকৃত
দামির ওলেজার

4
টমক্যাট নতুনদের জন্য, এই প্রশ্নের উপর একটি গুরুত্বপূর্ণ তথ্য বহন করা হচ্ছে টমক্যাট একাধিক context.xmlফাইল গ্রহণ করে। টমকেটের ডিফল্ট ত্রুটি পৃষ্ঠায় ম্যানেজারের কনটেক্সট.এক্সএমএল ফাইলটি সম্পাদনা করার জন্য নির্দেশিকাগুলি ম্যানেজার অ্যাপ্লিকেশনটির জন্য ডিরেক্টরিতে প্রসঙ্গ.এক্সএমএল ফাইল সম্পাদনা
কোড-রিড 17

11

বিভিন্ন মেশিন থেকে টমক্যাট ম্যানেজারটি অ্যাক্সেস করতে আপনাকে বোকা পদক্ষেপগুলি অনুসরণ করতে হবে:

১. ব্যবহারকারী এবং কিছু ভূমিকার সাথে কনফিড / টমক্যাট-ব্যবহারকারী.এক্সএমএল ফাইল আপডেট করুন :

<role rolename="manager-gui"/>
 <role rolename="manager-script"/>
 <role rolename="manager-jmx"/>
 <role rolename="manager-status"/>
 <user username="admin" password="admin" roles="manager-gui,manager-script,manager-jmx,manager-status"/>

এখানে প্রশাসক ব্যবহারকারী ভূমিকা = "ম্যানেজার-গুই, ম্যানেজার-স্ক্রিপ্ট, ম্যানেজার-জেএমএক্স, ম্যানেজার-স্ট্যাটাস" অর্পণ করছেন

এখানে টমক্যাট ব্যবহারকারী এবং পাসওয়ার্ড হ'ল অ্যাডমিন

২. ওয়েব অ্যাপস / ম্যানেজার / মেটা-আইএনএফ / কনটেক্সট.এক্সএমএল ফাইল আপডেট করুন (আইপি ঠিকানার অনুমতি দিচ্ছেন) :

ডিফল্ট কনফিগারেশন :

<Context antiResourceLocking="false" privileged="true" >
  
  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
  
  <Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/>
</Context>

এখানে ভালভে এটি কেবলমাত্র স্থানীয় মেশিনের আইপি 127 দিয়ে শুরু করতে দেয় \ \ d +। \ D +। \ D +

2.এ : স্পেসিফিক আইপি মঞ্জুরি দিন :

<Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|YOUR.IP.ADDRESS.HERE" />

এখানে আপনি কেবল আপনার আইপি ঠিকানাটি | YOUR.IP.ADDRESS.HeE প্রতিস্থাপন করুন

2. বি: সমস্ত আইপি অনুমতি দিন :

<Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow=".*" />

এখানে অনুমতি = "। *" ব্যবহার করে আপনি সমস্ত আইপি অনুমতি দিচ্ছেন।

ধন্যবাদ :)


ডাউন ভোটের জন্য একটি নির্দিষ্ট কারণ যুক্ত করুন। যদি এই উত্তরটি ভুল মনে হয় তবে দয়া করে ব্যাখ্যা করুন। আপনার ব্যাখ্যার পরে আমি আমার জ্ঞানের উন্নতি করতে পারি। ধন্যবাদ
মোঃ সাজেদুল করিম

একটি একক আইপিতে অ্যাক্সেসের পরিবর্তে, আপনি ডিফল্ট ফাইলের মতো একই বাক্য গঠন ব্যবহার করে কোনও নেটওয়ার্ক থেকে সমস্ত আইপিতে অ্যাক্সেস যুক্ত করতে পারেন: <ভালভ শ্রেণি নাম = "org.apache.catalina.valves.RemoteAddrValve" অনুমতি = "127 \। \ d + \। \ d + \। \ d + | :: 1 | 0: 0: 0: 0: 0: 0: 1 | 192 \ .168 \ .250 \। \ d + "/> এটি সমস্ত থেকে অ্যাক্সেসের অনুমতি দেয় স্থানীয় নেটওয়ার্কে 192.168.250.0/24 হোস্ট
টমাস লিমিন

4
এই উত্তরটি শুধুমাত্র একটি গ্রাফিক্যাল হয় YOUR.IP.ADDRESS.HERE- এবং এইভাবে সত্যিই থেকে ম্যানেজার অ্যাপ্লিকেশন অ্যাক্সেস করতে প্রশ্নের উত্তর একটি শুধু ইন্টারনেটে যে কোন জায়গা থেকে, বিভিন্ন হোস্ট। আইএমএইচও এটি বরং গ্রহণযোগ্য উত্তর হওয়া উচিত। উন্নতির পরামর্শ: শীর্ষস্থানীয় 2.a এ সরান, allyচ্ছিকভাবে @ থমাসলিমিনের পরামর্শ যুক্ত করুন।
ওলাফ কক

3
Following two configuration is working for me.

1 .tomcat-users.xml details
--------------------------------
  <role rolename="manager-gui"/>
  <role rolename="manager-script"/>
  <role rolename="manager-jmx"/>
  <role rolename="manager-status"/>
  <role rolename="admin-gui"/>
  <role rolename="admin-script"/>
  <role rolename="tomcat"/>


  <user  username="tomcat"  password="tomcat" roles="tomcat"/>

  <user  username="admin"  password="admin" roles="admin-gui"/>

  <user  username="adminscript"  password="adminscrip" roles="admin-script"/>

  <user  username="tomcat"  password="s3cret" roles="manager-gui"/>
  <user  username="status"  password="status" roles="manager-status"/>

  <user  username="both"    password="both"   roles="manager-gui,manager-status"/>

  <user  username="script"  password="script" roles="manager-script"/>
  <user  username="jmx"     password="jmx"    roles="manager-jmx"/>

2. context.xml  of <tomcat>/webapps/manager/META-INF/context.xml and 
<tomcat>/webapps/host-manager/META-INF/context.xml
------------------------------------------------------------------------
<Context antiResourceLocking="false" privileged="true" >

  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow=".*" />
  <Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/>

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