2012-05-27 28 views
7

उत्पादन के लिए, यह एक सोलर व्यवस्थापक होने के लिए असुरक्षित लगता है जो लॉगिन प्रमाण-पत्र भी नहीं पूछता है। मैं सोलर व्यवस्थापक पृष्ठ को अक्षम कैसे कर सकता हूं जो डिफ़ॉल्ट रूप से आता है? मैं बस अपने वेबपैप को खोज शब्द अनुक्रमण के लिए सोलर का उपयोग करना चाहता हूं।सोलर व्यवस्थापक पृष्ठ को अक्षम करने के लिए कैसे करें

उत्तर

10

मैं सलाह देता हूं कि व्यवस्थापक पृष्ठ को डीबगिंग उद्देश्यों के लिए रखें। इसने मुझे कई मामलों में बचा लिया है। केवल HTTP-प्रमाणीकृत उपयोगकर्ताओं को प्रतिबंधित करने के तरीके हैं: http://wiki.apache.org/solr/SolrSecurity#Jetty_example। आपको अपने वेबएप को अनजिप और पुनः-ज़िप करना पड़ सकता है।

हालांकि यदि आप अभी भी पूरे व्यवस्थापक अनुभाग को अक्षम करना चाहते हैं, तो आप $ {SOLR_HOME} /project/solr/conf/solrconfig.xml में व्यवस्थापक अनुरोध हैंडलर पर टिप्पणी कर सकते हैं।

2

आप सोलर वेब एप्लिकेशन में सुरक्षा बाधा डालकर बस अपने व्यवस्थापक पृष्ठ को पासवर्ड से सुरक्षित कर सकते हैं।

Solr 3.6 के लिए स्निपेट:

<security-constraint> 
    <!-- This protects your admin interface and grants access to role Solr-Admin --> 
    <web-resource-collection> 
    <web-resource-name>Solr admin</web-resource-name> 
     <!--url-pattern>/admin/*</url-pattern--> 
     <url-pattern>/evu/admin/*</url-pattern> 
     <url-pattern>/webcrawl/admin/*</url-pattern> 
    </web-resource-collection> 
    <auth-constraint> 
     <role-name>Solr-Admin</role-name> 
    </auth-constraint> 
    <user-data-constraint> 
     <transport-guarantee>CONFIDENTIAL</transport-guarantee> 
    </user-data-constraint> 
    </security-constraint> 

    <security-constraint> 
    <!-- This protects your admin interface and grants access to roles Solr-Admin and Solr-Updater --> 
    <web-resource-collection> 
     <web-resource-name>Solr Update</web-resource-name> 
     <url-pattern>/update/*</url-pattern> 
     <url-pattern>/evu/update/*</url-pattern> 
     <url-pattern>/webcrawl/update/*</url-pattern> 
    </web-resource-collection> 
    <auth-constraint> 
     <role-name>Solr-Admin</role-name> 
     <role-name>Solr-Update</role-name> 
    </auth-constraint> 
    <user-data-constraint> 
     <transport-guarantee>CONFIDENTIAL</transport-guarantee> 
    </user-data-constraint> 
    </security-constraint> 

    <security-constraint> 
    <!-- This one is necessary to show the image on the Solr start page --> 
    <web-resource-collection> 
     <web-resource-name>Solr Admin images</web-resource-name> 
     <url-pattern>*.png</url-pattern> 
    </web-resource-collection> 
    <auth-contraint> 
     <role-name>*</role-name> 
    </auth-contraint> 
    </security-constraint> 

    <security-role> 
    <description>The role that is required to administer Solr</description> 
    <role-name>Solr-Admin</role-name> 
    </security-role> 
    <security-role> 
    <description>The role that is required to update the Solr index</description> 
    <role-name>Solr-Update</role-name> 
    </security-role> 

    <login-config> 
    <auth-method>BASIC</auth-method> 
    <realm-name>Solr</realm-name> 
    </login-config> 
</web-app> 

Solr 4 में आप व्यवस्थापक इंटरफ़ेस के लिए निम्न संसाधनों की रक्षा के लिए है:

/admin/* 
/admin.html 
+0

क्या में इस स्निपेट को जोड़ने के लिए फ़ाइल? – tasmaniski

+0

यह web.xml होगा। मुझे जेटी कॉन्फ़िगरेशन के बारे में निश्चित नहीं है। – Maddin

-3

सबसे आसान तरीका:

iptables -ए INPUT -p टीसीपी --पोर्ट 8983 -j डीआरओपी

iptables -A INPUT -p tcp -s 127.0.0.1 --पोर्ट 8983 -j ACCEPT

इस आदेश के साथ!

+0

जब मैंने यह कोशिश की, तो मेरी साइट स्क्रिप्ट अब सोलर तक नहीं पहुंच पाई - मैंने आईपीटीबल्स के साथ अलग-अलग आईपी पतों और अन्य चीज़ों का प्रयास करने के लिए थोड़ा सा खेला (शायद इस पर विशेषज्ञ ज्ञान की कमी के कारण)। मैं अभी भी कोई किस्मत के साथ आसान उत्तर की तलाश में हूं ... – JxAxMxIxN

+0

गलत आदेश के कारण। यहां ऑनलाइनर: 'iptables -A INPUT -p tcp -s localhost --dport 8983 -j ACCEPT && iptables -A INPUT -p tcp --dport 8983 -j DROP && iptables-save> iptables.rules && iptables-restore hlcs

0

sudo vim /opt/solr-4.8.1/example/etc/jetty.xml परिवर्तन

<!-- This connector is currently being used for Solr because it 
      showed better performance than nio.SelectChannelConnector 
      for typical Solr requests. --> 
    <Call name="addConnector"> 
     <Arg> 
      <New class="org.eclipse.jetty.server.bio.SocketConnector"> 
      <Set name="host">0.0.0.0</Set> 
      <Set name="port"><SystemProperty name="jetty.port" default="8983"/></Set> 
      <Set name="maxIdleTime">50000</Set> 
      <Set name="lowResourceMaxIdleTime">1500</Set> 
      <Set name="statsOn">false</Set> 
      </New> 
     </Arg> 
    </Call> 

<!-- This connector is currently being used for Solr because it 
      showed better performance than nio.SelectChannelConnector 
      for typical Solr requests. --> 
    <Call name="addConnector"> 
     <Arg> 
      <New class="org.eclipse.jetty.server.bio.SocketConnector"> 
      <Set name="host">127.0.0.1</Set> 
      <Set name="port"><SystemProperty name="jetty.port" default="8983"/></Set> 
      <Set name="maxIdleTime">50000</Set> 
      <Set name="lowResourceMaxIdleTime">1500</Set> 
      <Set name="statsOn">false</Set> 
      </New> 
     </Arg> 
    </Call> 

तो sudo सेवा को पुनः आरंभ solrd

संबंधित मुद्दे