ਜ਼ੂਕੀਪਰ ਏਕੀਕਰਣ ਦੇ ਨਾਲ SOLR ਲਈ SSL ਨੂੰ ਸਮਰੱਥ ਬਣਾਉਣ ਵਿੱਚ ਚੁਣੌਤੀਆਂ
ਇੱਕ SOLR-Zookeeper ਸੈੱਟਅੱਪ ਵਿੱਚ SSL ਨੂੰ ਸਮਰੱਥ ਕਰਨਾ ਔਖਾ ਹੋ ਸਕਦਾ ਹੈ, ਖਾਸ ਕਰਕੇ ਜਦੋਂ ਉਬੰਟੂ 24.04.1 ਸਰਵਰਾਂ ਨਾਲ ਕੰਮ ਕਰਨਾ। ਇਹ ਸੰਰਚਨਾ ਪ੍ਰਕਿਰਿਆ ਨੋਡਾਂ ਵਿਚਕਾਰ ਸੁਰੱਖਿਅਤ ਸੰਚਾਰ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਂਦੀ ਹੈ, ਪਰ ਇੱਕ ਮਾਮੂਲੀ ਗਲਤ ਸੰਰਚਨਾ ਵੀ SOLR ਐਡਮਿਨ UI ਵਰਗੀਆਂ ਸੇਵਾਵਾਂ ਨੂੰ ਸਹੀ ਢੰਗ ਨਾਲ ਕੰਮ ਕਰਨ ਤੋਂ ਰੋਕ ਸਕਦੀ ਹੈ। ਜੇਕਰ ਤੁਸੀਂ ਹਾਲ ਹੀ ਵਿੱਚ SSL ਨੂੰ ਸਮਰੱਥ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ ਹੈ ਅਤੇ ਸਮੱਸਿਆਵਾਂ ਦਾ ਸਾਹਮਣਾ ਕੀਤਾ ਹੈ, ਤਾਂ ਤੁਸੀਂ ਇਕੱਲੇ ਨਹੀਂ ਹੋ।
ਇਸ ਲੇਖ ਵਿੱਚ, ਅਸੀਂ ਇੱਕ ਸਥਾਨਕ ਉਬੰਟੂ ਸਰਵਰ 'ਤੇ ਜ਼ੂਕੀਪਰ 3.8.1 ਦੇ ਨਾਲ ਏਕੀਕ੍ਰਿਤ ਹੋਣ 'ਤੇ SOLR 9.6.1 ਵਿੱਚ SSL ਐਕਟੀਵੇਸ਼ਨ ਦੌਰਾਨ ਆਈ ਇੱਕ ਆਮ ਸਮੱਸਿਆ ਬਾਰੇ ਦੱਸਾਂਗੇ। ਸਵਾਲ ਵਿੱਚ ਸੈੱਟਅੱਪ ਵਿੱਚ ਇੱਕ ਸਿੰਗਲ ਸ਼ਾਰਡ, ਮਲਟੀਪਲ ਪ੍ਰਤੀਕ੍ਰਿਤੀਆਂ, ਅਤੇ ਬੁਨਿਆਦੀ ਪ੍ਰਮਾਣਿਕਤਾ ਦੇ ਨਾਲ ਇੱਕੋ ਸਰਵਰ 'ਤੇ SOLR ਅਤੇ Zookeeper ਨੂੰ ਚਲਾਉਣਾ ਸ਼ਾਮਲ ਹੈ। ਫੋਕਸ ਉਹਨਾਂ ਗਲਤੀਆਂ ਨੂੰ ਹੱਲ ਕਰਨ 'ਤੇ ਹੋਵੇਗਾ ਜੋ SSL ਸੈਟਿੰਗਾਂ ਨੂੰ ਅਪਡੇਟ ਕਰਨ ਤੋਂ ਬਾਅਦ ਹੁੰਦੀਆਂ ਹਨ।
SSL ਗਲਤ ਸੰਰਚਨਾ ਦੇ ਨਤੀਜੇ ਵਜੋਂ ਅਕਸਰ ਲੌਗ ਫਾਈਲਾਂ ਵਿੱਚ "ਐਡਮਿਨ UI ਲਾਂਚ ਨਹੀਂ ਹੋ ਰਿਹਾ" ਜਾਂ "ਟੁੱਟੇ ਹੋਏ ਪਾਈਪ" ਸੁਨੇਹੇ ਵਰਗੀਆਂ ਤਰੁੱਟੀਆਂ ਪੈਦਾ ਹੁੰਦੀਆਂ ਹਨ, ਜੋ ਸਮੱਸਿਆ ਦਾ ਨਿਪਟਾਰਾ ਕਰਨਾ ਚੁਣੌਤੀਪੂਰਨ ਹੋ ਸਕਦੀਆਂ ਹਨ। ਇਹ ਤਰੁੱਟੀਆਂ ਆਮ ਤੌਰ 'ਤੇ ਸਰਟੀਫਿਕੇਟ ਮੁੱਦਿਆਂ ਜਾਂ SOLR ਜਾਂ Zookeeper ਨੋਡਾਂ ਦੇ ਅੰਦਰ SSL ਕਨੈਕਸ਼ਨ ਅਸਫਲਤਾਵਾਂ ਤੋਂ ਪੈਦਾ ਹੁੰਦੀਆਂ ਹਨ, ਜਿਸ ਨਾਲ ਸੇਵਾਵਾਂ ਵਿਚਕਾਰ ਸੰਚਾਰ ਟੁੱਟ ਜਾਂਦਾ ਹੈ।
ਹੇਠਾਂ ਦਿੱਤੇ ਭਾਗਾਂ ਵਿੱਚ, ਅਸੀਂ ਲੌਗ ਫਾਈਲਾਂ ਵਿੱਚ ਡੂੰਘਾਈ ਨਾਲ ਡੁਬਕੀ ਲਵਾਂਗੇ, ਇਹਨਾਂ SSL-ਸੰਬੰਧੀ ਗਲਤੀਆਂ ਦੇ ਸੰਭਾਵੀ ਕਾਰਨਾਂ ਦਾ ਵਿਸ਼ਲੇਸ਼ਣ ਕਰਾਂਗੇ, ਅਤੇ ਤੁਹਾਡੇ SOLR ਅਤੇ Zookeeper ਸੈੱਟਅੱਪ ਲਈ ਇੱਕ ਨਿਰਵਿਘਨ SSL ਸੰਰਚਨਾ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਦਮ-ਦਰ-ਕਦਮ ਹੱਲ ਪੇਸ਼ ਕਰਾਂਗੇ।
ਹੁਕਮ | ਵਰਤੋਂ ਦੀ ਉਦਾਹਰਨ |
---|---|
keytool -genkeypair | ਇਹ ਕਮਾਂਡ ਇੱਕ ਕੀਸਟੋਰ ਵਿੱਚ ਇੱਕ ਕੁੰਜੀ ਜੋੜਾ (ਜਨਤਕ ਅਤੇ ਨਿੱਜੀ ਕੁੰਜੀਆਂ) ਬਣਾਉਣ ਲਈ ਵਰਤੀ ਜਾਂਦੀ ਹੈ। ਸੁਰੱਖਿਅਤ ਸੰਚਾਰ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ, SOLR ਅਤੇ Zookeeper ਲਈ SSL ਸਰਟੀਫਿਕੇਟ ਬਣਾਉਣ ਲਈ ਇਹ ਮਹੱਤਵਪੂਰਨ ਹੈ। |
keytool -import -trustcacerts | ਇਹ ਭਰੋਸੇਯੋਗ CA (ਸਰਟੀਫਿਕੇਟ ਅਥਾਰਟੀ) ਸਰਟੀਫਿਕੇਟਾਂ ਨੂੰ ਕੀਸਟੋਰ ਵਿੱਚ ਆਯਾਤ ਕਰਦਾ ਹੈ। ਇਹ SSL ਸੈੱਟਅੱਪ ਲਈ ਖਾਸ ਹੈ, ਸਿਸਟਮ ਨੂੰ ਰੂਟ ਅਤੇ ਵਿਚਕਾਰਲੇ ਸਰਟੀਫਿਕੇਟਾਂ 'ਤੇ ਭਰੋਸਾ ਕਰਨ ਦੇ ਯੋਗ ਬਣਾਉਂਦਾ ਹੈ। |
echo "ssl.client.enable=true" | Echoes ਅਤੇ Zookeeper ਸੰਰਚਨਾ ਫਾਇਲ ਵਿੱਚ SSL-ਵਿਸ਼ੇਸ਼ ਸੰਰਚਨਾਵਾਂ ਜੋੜਦਾ ਹੈ। ਇਹ ਜ਼ੂਕੀਪਰ ਵਿੱਚ SSL ਕਲਾਇੰਟ ਸੰਚਾਰ ਨੂੰ ਸਮਰੱਥ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। |
keytool -list | ਇਹ ਕਮਾਂਡ ਕੀਸਟੋਰ ਵਿੱਚ ਸਾਰੀਆਂ ਐਂਟਰੀਆਂ ਨੂੰ ਸੂਚੀਬੱਧ ਕਰਦੀ ਹੈ। ਇਹ ਤਸਦੀਕ ਕਰਨ ਲਈ ਖਾਸ ਹੈ ਕਿ ਸਾਰੇ ਸਰਟੀਫਿਕੇਟ (ਰੂਟ, ਇੰਟਰਮੀਡੀਏਟ, ਸਰਵਰ) ਸਹੀ ਢੰਗ ਨਾਲ ਸ਼ਾਮਲ ਕੀਤੇ ਗਏ ਹਨ ਅਤੇ SSL ਵਰਤੋਂ ਲਈ ਉਪਲਬਧ ਹਨ। |
zkServer.sh restart | ਜ਼ੂਕੀਪਰ ਸਰਵਰ ਨੂੰ ਅੱਪਡੇਟ ਕੀਤੀਆਂ ਸੰਰਚਨਾਵਾਂ ਨਾਲ ਮੁੜ-ਚਾਲੂ ਕਰਦਾ ਹੈ, ਖਾਸ ਕਰਕੇ SSL-ਸਬੰਧਤ ਤਬਦੀਲੀਆਂ ਤੋਂ ਬਾਅਦ। ਇਹ ਕਮਾਂਡ ਨਵੀਂ SSL ਸੈਟਿੰਗਾਂ ਦੇ ਪ੍ਰਭਾਵੀ ਹੋਣ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਂਦੀ ਹੈ। |
ssl.quorum.keyStore.location | ਕੀਸਟੋਰ ਫਾਈਲ ਵੱਲ ਇਸ਼ਾਰਾ ਕਰਦੇ ਹੋਏ, zoo.cfg ਵਿੱਚ ਇੱਕ Zookeeper-ਵਿਸ਼ੇਸ਼ ਸੈਟਿੰਗ ਸ਼ਾਮਲ ਕੀਤੀ ਗਈ ਹੈ। ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਜ਼ੂਕੀਪਰ ਨੋਡਾਂ ਵਿਚਕਾਰ ਕੋਰਮ ਸੰਚਾਰ ਲਈ SSL ਪ੍ਰਮਾਣ-ਪੱਤਰਾਂ ਦਾ ਸਹੀ ਹਵਾਲਾ ਦਿੱਤਾ ਗਿਆ ਹੈ। |
ssl.quorum.trustStore.location | ਇੱਕ ਹੋਰ ਜ਼ੂਕੀਪਰ-ਵਿਸ਼ੇਸ਼ ਸੰਰਚਨਾ ਜੋ ਟਰੱਸਟਸਟੋਰ ਫਾਈਲ ਦੀ ਸਥਿਤੀ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਦੀ ਹੈ, ਸਿਸਟਮ ਨੂੰ ਜ਼ੂਕੀਪਰ ਕੋਰਮ ਵਿੱਚ ਹੋਰ ਨੋਡਾਂ 'ਤੇ ਭਰੋਸਾ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦੀ ਹੈ। |
jetty-ssl.xml | SOLR ਦੁਆਰਾ ਵਰਤੀ ਗਈ ਇੱਕ ਜੇਟੀ-ਵਿਸ਼ੇਸ਼ ਕੌਂਫਿਗਰੇਸ਼ਨ ਫਾਈਲ। ਇਹ ਕੀਸਟੋਰ ਅਤੇ ਟਰੱਸਟਸਟੋਰ ਮਾਰਗਾਂ ਵਰਗੀਆਂ SSL ਸੈਟਿੰਗਾਂ ਨੂੰ ਕੌਂਫਿਗਰ ਕਰਦਾ ਹੈ, ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ SOLR HTTPS ਰਾਹੀਂ ਸੁਰੱਖਿਅਤ ਢੰਗ ਨਾਲ ਸੰਚਾਰ ਕਰਦਾ ਹੈ। |
monitor_ssl_logs() | ਇਹ ਪਾਈਥਨ ਫੰਕਸ਼ਨ ਅਸਫਲ ਹੈਂਡਸ਼ੇਕ ਵਰਗੀਆਂ ਗਲਤੀਆਂ ਲਈ ਲਗਾਤਾਰ SSL ਲੌਗਾਂ ਦੀ ਨਿਗਰਾਨੀ ਕਰਦਾ ਹੈ। ਇਹ SOLR ਅਤੇ Zookeeper ਵਿੱਚ SSL ਕਨੈਕਸ਼ਨ ਮੁੱਦਿਆਂ ਦੀ ਜਾਂਚ ਕਰਨ ਲਈ ਬਹੁਤ ਖਾਸ ਹੈ। |
SOLR ਅਤੇ Zookeeper ਲਈ SSL ਕੌਂਫਿਗਰੇਸ਼ਨ ਅਤੇ ਸਕ੍ਰਿਪਟਿੰਗ ਦਾ ਵਿਸ਼ਲੇਸ਼ਣ ਕਰਨਾ
ਪਹਿਲੀ ਸਕ੍ਰਿਪਟ SOLR ਅਤੇ Zookeeper ਨੂੰ ਮੁੜ ਚਾਲੂ ਕਰਨ ਦੀ ਪ੍ਰਕਿਰਿਆ ਨੂੰ ਸਵੈਚਲਿਤ ਕਰਦੀ ਹੈ ਜਦੋਂ ਕਿ SSL ਸੰਰਚਨਾਵਾਂ ਨੂੰ ਸਹੀ ਢੰਗ ਨਾਲ ਲਾਗੂ ਕੀਤਾ ਗਿਆ ਹੈ। ਇਹ Zookeeper ਉਦਾਹਰਨਾਂ ਨੂੰ ਲੂਪ ਕਰਨ ਅਤੇ ਅੱਪਡੇਟ ਕੀਤੇ SSL ਸੈਟਿੰਗਾਂ ਨਾਲ ਮੁੜ ਚਾਲੂ ਕਰਨ ਲਈ Bash ਸਕ੍ਰਿਪਟਿੰਗ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ। ਇਸ ਸਕ੍ਰਿਪਟ ਦੀ ਮਹੱਤਤਾ ਮਲਟੀਪਲ ਜ਼ੂਕੀਪਰ ਨੋਡਾਂ ਦੇ ਪ੍ਰਬੰਧਨ ਵਿੱਚ ਹੈ, ਕਿਉਂਕਿ SSL ਸੰਰਚਨਾ ਪੂਰੇ ਕਲੱਸਟਰ ਵਿੱਚ ਇੱਕਸਾਰ ਲਾਗੂ ਹੋਣੀ ਚਾਹੀਦੀ ਹੈ। `zkServer.sh ਰੀਸਟਾਰਟ` ਦੀ ਵਰਤੋਂ ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦੀ ਹੈ ਕਿ ਹਰੇਕ ਜ਼ੂਕੀਪਰ ਨੋਡ ਨੂੰ ਇਸਦੀ ਸੰਬੰਧਿਤ ਸੰਰਚਨਾ ਫਾਈਲ ਦੇ ਨਾਲ ਸਹੀ ਢੰਗ ਨਾਲ ਮੁੜ-ਚਾਲੂ ਕੀਤਾ ਗਿਆ ਹੈ, ਇੱਕ ਮਲਟੀ-ਨੋਡ ਸੈੱਟਅੱਪ ਵਿੱਚ ਕਲੱਸਟਰ ਪ੍ਰਬੰਧਨ ਲਈ ਸਕ੍ਰਿਪਟ ਨੂੰ ਕੁਸ਼ਲ ਬਣਾਉਂਦਾ ਹੈ।
ਸਕ੍ਰਿਪਟ 'ਸੋਲਰ ਰੀਸਟਾਰਟ' ਦੀ ਵਰਤੋਂ ਕਰਕੇ SOLR ਉਦਾਹਰਨ ਦੇ ਰੀਸਟਾਰਟ ਨੂੰ ਵੀ ਸੰਬੋਧਿਤ ਕਰਦੀ ਹੈ। SOLR HTTPS ਬੇਨਤੀਆਂ ਨੂੰ ਸੰਭਾਲਣ ਲਈ ਜੇਟੀ 'ਤੇ ਨਿਰਭਰ ਕਰਦਾ ਹੈ, ਅਤੇ ਸਕ੍ਰਿਪਟ ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦੀ ਹੈ ਕਿ SSL-ਸੰਬੰਧੀ ਸੈਟਿੰਗਾਂ ਜਿਵੇਂ ਕਿ ਕੀਸਟੋਰ ਅਤੇ ਟਰੱਸਟਸਟੋਰ ਮਾਰਗ ਸਹੀ ਢੰਗ ਨਾਲ ਰੀਲੋਡ ਕੀਤੇ ਗਏ ਹਨ। ਇਹ SOLR ਐਡਮਿਨ UI ਨੂੰ ਐਕਸੈਸ ਕਰਨ ਵੇਲੇ ਸੰਭਾਵੀ SSL ਹੈਂਡਸ਼ੇਕ ਅਸਫਲਤਾਵਾਂ ਨੂੰ ਰੋਕਦਾ ਹੈ, ਜੋ ਕਿ ਪੁਰਾਣੇ ਜਾਂ ਗਲਤ ਸੰਰਚਿਤ SSL ਸਰਟੀਫਿਕੇਟਾਂ ਤੋਂ ਪੈਦਾ ਹੋ ਸਕਦਾ ਹੈ। ਇਹਨਾਂ ਕਾਰਜਾਂ ਨੂੰ ਆਟੋਮੈਟਿਕ ਕਰਕੇ, ਸਕ੍ਰਿਪਟ ਦਸਤੀ ਗਲਤੀਆਂ ਨੂੰ ਘੱਟ ਕਰਦੀ ਹੈ, ਖਾਸ ਕਰਕੇ ਜਦੋਂ ਇੱਕੋ ਸਰਵਰ 'ਤੇ ਕਈ ਸੇਵਾਵਾਂ ਵਿੱਚ SSL ਸਰਟੀਫਿਕੇਟ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰਦੇ ਹੋ।
ਦੂਜੀ ਸਕ੍ਰਿਪਟ SOLR ਅਤੇ Zookeeper ਦੋਵਾਂ ਵਿੱਚ SSL ਲਈ ਜਾਵਾ ਕੀਸਟੋਰ ਬਣਾਉਣ ਅਤੇ ਪ੍ਰਬੰਧਿਤ ਕਰਨ ਲਈ ਵਰਤੀ ਜਾਂਦੀ ਹੈ। Java ਦੀ ਕੀਟੂਲ ਉਪਯੋਗਤਾ ਨੂੰ ਮੁੱਖ ਜੋੜੇ ਬਣਾਉਣ ਅਤੇ ਕੀਸਟੋਰ ਵਿੱਚ ਸਰਟੀਫਿਕੇਟ ਆਯਾਤ ਕਰਨ ਲਈ ਲਗਾਇਆ ਜਾਂਦਾ ਹੈ। ਕਮਾਂਡ `keytool -genkeypair` ਲੋੜੀਂਦੇ SSL ਸਰਟੀਫਿਕੇਟ ਤਿਆਰ ਕਰਦੀ ਹੈ, ਜਦੋਂ ਕਿ `ਕੀਟੂਲ -ਇਪੋਰਟ` ਦੀ ਵਰਤੋਂ ਭਰੋਸੇਯੋਗ ਰੂਟ ਅਤੇ ਵਿਚਕਾਰਲੇ ਸਰਟੀਫਿਕੇਟਾਂ ਨੂੰ ਜੋੜਨ ਲਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਇਹ ਸਰਟੀਫਿਕੇਟ ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦੇ ਹਨ ਕਿ ਨੋਡਾਂ ਵਿਚਕਾਰ SSL ਸੰਚਾਰ ਭਰੋਸੇਯੋਗ ਅਤੇ ਸੁਰੱਖਿਅਤ ਹੈ। ਇਹ ਸਕ੍ਰਿਪਟ SSL ਸਰਟੀਫਿਕੇਟਾਂ ਨੂੰ ਸਹੀ ਢੰਗ ਨਾਲ ਸਥਾਪਤ ਕਰਨ ਅਤੇ ਪ੍ਰਬੰਧਨ ਲਈ ਮਹੱਤਵਪੂਰਨ ਹੈ, ਜੋ ਸੇਵਾਵਾਂ ਵਿਚਕਾਰ ਸੁਰੱਖਿਅਤ ਸੰਚਾਰ ਨੂੰ ਸਮਰੱਥ ਬਣਾਉਣ ਵਿੱਚ ਕੇਂਦਰੀ ਭੂਮਿਕਾ ਨਿਭਾਉਂਦੀ ਹੈ।
ਅੰਤ ਵਿੱਚ, ਪਾਈਥਨ ਸਕ੍ਰਿਪਟ ਇੱਕ ਲੌਗ ਮਾਨੀਟਰਿੰਗ ਟੂਲ ਵਜੋਂ ਕੰਮ ਕਰਦੀ ਹੈ ਜੋ ਖਾਸ ਤੌਰ 'ਤੇ SSL ਹੈਂਡਸ਼ੇਕ ਗਲਤੀਆਂ ਦਾ ਪਤਾ ਲਗਾਉਣ ਲਈ ਤਿਆਰ ਕੀਤੀ ਗਈ ਹੈ। ਅਸਲ ਸਮੇਂ ਵਿੱਚ SSL ਲੌਗਸ ਨੂੰ ਲਗਾਤਾਰ ਪੜ੍ਹ ਕੇ, ਇਹ ਸਕ੍ਰਿਪਟ SSL-ਸੰਬੰਧੀ ਮੁੱਦਿਆਂ ਜਿਵੇਂ ਕਿ `SSL ਹੈਂਡਸ਼ੇਕ ਫੇਲ੍ਹ` ਦੀ ਪਛਾਣ ਕਰ ਸਕਦੀ ਹੈ। ਲੌਗਿੰਗ ਦਾ ਇਹ ਪੱਧਰ ਗੁੰਝਲਦਾਰ ਵਾਤਾਵਰਨ ਵਿੱਚ ਸਮੱਸਿਆਵਾਂ ਦਾ ਨਿਦਾਨ ਕਰਨ ਲਈ ਜ਼ਰੂਰੀ ਹੈ ਜਿੱਥੇ ਜ਼ੂਕੀਪਰ ਅਤੇ SOLR ਵਰਗੀਆਂ ਸੇਵਾਵਾਂ ਐਨਕ੍ਰਿਪਟਡ ਚੈਨਲਾਂ 'ਤੇ ਸੰਚਾਰ ਕਰਦੀਆਂ ਹਨ। ਅਸਲ-ਸਮੇਂ ਦੀ ਨਿਗਰਾਨੀ SSL ਅਸਫਲਤਾਵਾਂ ਦੇ ਮੂਲ ਕਾਰਨ ਦੀ ਜਲਦੀ ਪਛਾਣ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰਦੀ ਹੈ, ਜੋ ਕਿ ਸਰਟੀਫਿਕੇਟ ਦੀ ਬੇਮੇਲਤਾ, ਗਲਤ ਸੰਰਚਨਾ, ਜਾਂ ਮਿਆਦ ਪੁੱਗ ਚੁੱਕੇ ਸਰਟੀਫਿਕੇਟਾਂ ਤੋਂ ਪੈਦਾ ਹੋ ਸਕਦੀ ਹੈ। ਇਹ ਸਮੱਸਿਆ-ਨਿਪਟਾਰਾ ਟੂਲ ਖਾਸ ਤੌਰ 'ਤੇ ਕਈ ਨੋਡਾਂ ਅਤੇ SSL ਜਟਿਲਤਾਵਾਂ ਵਾਲੇ ਵਾਤਾਵਰਣ ਵਿੱਚ ਮਹੱਤਵਪੂਰਣ ਹੈ।
SOLR ਅਤੇ Zookeeper ਵਿੱਚ SSL ਕੌਂਫਿਗਰੇਸ਼ਨ ਮੁੱਦਿਆਂ ਨੂੰ ਸੰਭਾਲਣਾ
SOLR ਨੂੰ ਸਵੈਚਲਿਤ ਕਰਨ ਲਈ Bash ਸਕ੍ਰਿਪਟਿੰਗ ਦੀ ਵਰਤੋਂ ਕਰਨਾ ਅਤੇ ਉਬੰਟੂ 'ਤੇ SSL ਸੰਰਚਨਾਵਾਂ ਨਾਲ ਜ਼ੂਕੀਪਰ ਨੂੰ ਮੁੜ ਚਾਲੂ ਕਰਨਾ
#!/bin/bash
# Script to automate SOLR and Zookeeper restart with SSL configuration
# Paths to configuration files
ZOOKEEPER_DIR="/opt/zookeeper"
SOLR_DIR="/opt/solr"
SSL_KEYSTORE="/opt/solr-9.6.1/server/etc/solr-ssl.jks"
ZOOKEEPER_CONFIG="$ZOOKEEPER_DIR/conf/zoo.cfg"
SOLR_CONFIG="$SOLR_DIR/server/etc/jetty-ssl.xml"
# Restart Zookeeper with SSL configuration
echo "Restarting Zookeeper..."
for i in {1..3}; do
/bin/bash $ZOOKEEPER_DIR/bin/zkServer.sh restart $ZOOKEEPER_DIR/data/z$i/zoo.cfg
done
# Restart SOLR with SSL configuration
echo "Restarting SOLR..."
/bin/bash $SOLR_DIR/bin/solr restart -c -p 8983 -z localhost:2181,localhost:2182,localhost:2183 -m 5g -force
SOLR ਅਤੇ Zookeeper ਵਿੱਚ SSL ਲਈ Java ਕੀਸਟੋਰਾਂ ਦੀ ਸੰਰਚਨਾ ਕਰਨਾ
SSL ਸਰਟੀਫਿਕੇਟ ਬਣਾਉਣ ਅਤੇ ਸੰਰਚਿਤ ਕਰਨ ਲਈ Java KeyStore (JKS) ਅਤੇ Keytool ਦੀ ਵਰਤੋਂ ਕਰਨਾ
#!/bin/bash
# Generate a keystore with a self-signed certificate
keytool -genkeypair -alias solr -keyalg RSA -keystore /opt/solr-9.6.1/server/etc/solr-ssl.jks
# Import intermediate and root certificates
keytool -import -trustcacerts -alias root -file /path/to/rootCA.pem -keystore /opt/solr-9.6.1/server/etc/solr-ssl.jks
keytool -import -trustcacerts -alias intermediate -file /path/to/intermediateCA.pem -keystore /opt/solr-9.6.1/server/etc/solr-ssl.jks
# Configure Zookeeper SSL settings
echo "ssl.client.enable=true" >> $ZOOKEEPER_DIR/conf/zoo.cfg
echo "ssl.quorum.keyStore.location=/opt/solr-9.6.1/server/etc/solr-ssl.jks" >> $ZOOKEEPER_DIR/conf/zoo.cfg
echo "ssl.quorum.trustStore.location=/opt/solr-9.6.1/server/etc/solr-ssl.jks" >> $ZOOKEEPER_DIR/conf/zoo.cfg
ਸਵੈਚਲਿਤ SSL ਹੈਂਡਸ਼ੇਕ ਟ੍ਰਬਲਸ਼ੂਟਿੰਗ
ਸਮੱਸਿਆ ਨਿਪਟਾਰੇ ਲਈ SSL ਹੈਂਡਸ਼ੇਕ ਲੌਗਾਂ ਦੀ ਨਿਗਰਾਨੀ ਕਰਨ ਲਈ ਪਾਈਥਨ ਦੀ ਵਰਤੋਂ ਕਰਨਾ
import subprocess
import time
def monitor_ssl_logs(log_file):
with open(log_file, 'r') as f:
f.seek(0, 2) # Move to the end of file
while True:
line = f.readline()
if not line:
time.sleep(0.1)
continue
if "SSL handshake failed" in line:
print(f"Error: {line.strip()}")
# Start monitoring Zookeeper SSL logs
monitor_ssl_logs("/opt/zookeeper/logs/zookeeper.log")
SOLR ਅਤੇ Zookeeper ਵਿੱਚ SSL ਹੈਂਡਸ਼ੇਕ ਅਤੇ ਕੌਂਫਿਗਰੇਸ਼ਨ ਜਟਿਲਤਾਵਾਂ
SOLR ਅਤੇ Zookeeper ਵਿੱਚ SSL ਨੂੰ ਸਮਰੱਥ ਕਰਨ ਵੇਲੇ ਸੰਬੋਧਿਤ ਕਰਨ ਲਈ ਇੱਕ ਮਹੱਤਵਪੂਰਨ ਪਹਿਲੂ ਇਹ ਹੈ ਕਿ ਕਿਵੇਂ SSL ਹੈਂਡਸ਼ੇਕ ਕਾਰਜ ਨੂੰ ਕੰਮ ਕਰਦਾ ਹੈ. ਹੈਂਡਸ਼ੇਕ ਵਿੱਚ ਕਲਾਇੰਟ ਅਤੇ ਸਰਵਰ ਵਿਚਕਾਰ ਸਰਟੀਫਿਕੇਟਾਂ ਦਾ ਆਦਾਨ-ਪ੍ਰਦਾਨ ਸ਼ਾਮਲ ਹੁੰਦਾ ਹੈ, ਐਨਕ੍ਰਿਪਟਡ ਡੇਟਾ ਸੰਚਾਰ ਸ਼ੁਰੂ ਹੋਣ ਤੋਂ ਪਹਿਲਾਂ ਵਿਸ਼ਵਾਸ ਦੀ ਪੁਸ਼ਟੀ ਕਰਨਾ। ਸਮੱਸਿਆਵਾਂ ਅਕਸਰ ਪੈਦਾ ਹੁੰਦੀਆਂ ਹਨ ਜੇਕਰ ਸਰਟੀਫਿਕੇਟ SOLR ਅਤੇ Zookeeper ਦੋਨਾਂ ਸੰਰਚਨਾਵਾਂ ਵਿੱਚ ਸਹੀ ਢੰਗ ਨਾਲ ਸੈੱਟ ਨਹੀਂ ਕੀਤੇ ਗਏ ਹਨ। ਉਦਾਹਰਨ ਲਈ, ਮੇਲ ਖਾਂਦੀਆਂ ਸਰਟੀਫਿਕੇਟ ਚੇਨਾਂ ਜਾਂ ਕੀਸਟੋਰ ਪਾਸਵਰਡ ਸਿਸਟਮ ਨੂੰ ਸਫਲਤਾਪੂਰਵਕ ਇੱਕ SSL ਕੁਨੈਕਸ਼ਨ ਸ਼ੁਰੂ ਕਰਨ ਤੋਂ ਰੋਕ ਸਕਦੇ ਹਨ। SOLR SSL ਸੰਚਾਰ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰਨ ਲਈ Jetty 'ਤੇ ਨਿਰਭਰ ਕਰਦਾ ਹੈ, ਇਹ ਯਕੀਨੀ ਬਣਾਉਣਾ ਮਹੱਤਵਪੂਰਨ ਬਣਾਉਂਦਾ ਹੈ ਕਿ Jetty ਸੰਰਚਨਾ ਤੁਹਾਡੀ ਕੀਸਟੋਰ ਸੈਟਿੰਗਾਂ ਨਾਲ ਸਮਕਾਲੀ ਹੈ।
ਇੱਕ ਹੋਰ ਆਮ ਚੁਣੌਤੀ ਮਲਟੀਪਲ ਨੋਡਾਂ ਵਿੱਚ SSL ਸਥਾਪਤ ਕਰਨਾ ਹੈ, ਖਾਸ ਕਰਕੇ ਇੱਕ ਜ਼ੂਕੀਪਰ ਕੋਰਮ ਵਿੱਚ। ਮਲਟੀਪਲ ਜ਼ੂਕੀਪਰ ਨੋਡਾਂ ਦੇ ਨਾਲ, ਸੁਰੱਖਿਅਤ ਕਲਾਇੰਟ-ਟੂ-ਸਰਵਰ ਅਤੇ ਸਰਵਰ-ਟੂ-ਸਰਵਰ ਸੰਚਾਰ ਨੂੰ ਸਮਰੱਥ ਬਣਾਉਣ ਲਈ SSL ਸੰਰਚਨਾ ਨੂੰ ਸਾਰੇ ਸਰਵਰਾਂ ਵਿੱਚ ਇਕਸਾਰ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ। ਹਰੇਕ ਨੋਡ ਵਿੱਚ ਇੱਕੋ ਜਿਹਾ ਕੀਸਟੋਰ ਅਤੇ ਟਰੱਸਟਸਟੋਰ ਸੈੱਟਅੱਪ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ, ਨਾਲ ਹੀ ਇੱਕੋ ਜਿਹੇ SSL ਪ੍ਰੋਟੋਕੋਲ ਜਿਵੇਂ ਕਿ TLSv1.2. ਇਹ ਸੰਰਚਨਾ `zoo.cfg` ਫਾਈਲ ਵਿੱਚ ਮਿਲਦੀਆਂ ਹਨ। ਨੋਡਾਂ ਦੇ ਵਿਚਕਾਰ ਕੋਈ ਵੀ ਮਤਭੇਦ "ਟੁੱਟੀ ਪਾਈਪ" ਜਾਂ "ਸਾਕਟ ਬੰਦ ਹੈ" ਤਰੁਟੀਆਂ ਵਰਗੀਆਂ ਸਮੱਸਿਆਵਾਂ ਦਾ ਕਾਰਨ ਬਣ ਸਕਦਾ ਹੈ, ਜਿਵੇਂ ਕਿ ਸਮੱਸਿਆ ਦੇ ਦ੍ਰਿਸ਼ ਵਿੱਚ ਦੇਖਿਆ ਗਿਆ ਹੈ।
ਇਹ ਵਿਚਾਰ ਕਰਨਾ ਵੀ ਜ਼ਰੂਰੀ ਹੈ ਕਿ ਜ਼ੂਕੀਪਰ SSL ਸਮਰਥਿਤ ਕੋਰਮ ਸੰਚਾਰ ਨੂੰ ਕਿਵੇਂ ਸੰਭਾਲਦਾ ਹੈ। `ssl.quorum.enabledProtocols` ਸੈੱਟ ਕਰਕੇ, ਤੁਸੀਂ ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦੇ ਹੋ ਕਿ ਜ਼ੂਕੀਪਰ ਨੋਡਾਂ ਵਿਚਕਾਰ ਸੁਰੱਖਿਅਤ ਸੰਚਾਰ TLS ਵਰਗੇ ਭਰੋਸੇਯੋਗ ਪ੍ਰੋਟੋਕੋਲ 'ਤੇ ਹੁੰਦਾ ਹੈ। ਇਸ ਤੋਂ ਇਲਾਵਾ, 'ssl.quorum.hostnameVerification=false' ਨੂੰ ਉਹਨਾਂ ਮਾਮਲਿਆਂ ਵਿੱਚ ਰੱਖਣਾ ਜ਼ਰੂਰੀ ਹੋ ਸਕਦਾ ਹੈ ਜਿੱਥੇ ਜ਼ੂਕੀਪਰ ਨੋਡਾਂ ਨੂੰ ਹੋਸਟਨਾਮਾਂ ਦੀ ਬਜਾਏ IP ਦੁਆਰਾ ਰੈਫਰ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਕਿਉਂਕਿ ਹੋਸਟਨਾਮ ਦੇ ਮਿਲਾਨ SSL ਹੈਂਡਸ਼ੇਕ ਨੂੰ ਰੋਕ ਸਕਦੇ ਹਨ। ਇਹਨਾਂ ਸੈਟਿੰਗਾਂ ਨੂੰ ਫਾਈਨ-ਟਿਊਨਿੰਗ ਕਰਨ ਨਾਲ ਤੁਹਾਡੇ ਵਿਤਰਿਤ ਸੈੱਟਅੱਪ ਵਿੱਚ ਸੁਰੱਖਿਅਤ ਸੰਚਾਰ ਵਿੱਚ ਮਹੱਤਵਪੂਰਨ ਸੁਧਾਰ ਹੋ ਸਕਦਾ ਹੈ।
SOLR ਅਤੇ Zookeeper SSL ਕੌਂਫਿਗਰੇਸ਼ਨ ਲਈ ਆਮ ਸਵਾਲ ਅਤੇ ਸਮੱਸਿਆ ਨਿਪਟਾਰਾ
- SOLR ਕੀਸਟੋਰ ਦਾ ਉਦੇਸ਼ ਕੀ ਹੈ?
- SOLR ਵਿੱਚ ਕੀਸਟੋਰ ਵਿੱਚ SSL ਸਰਟੀਫਿਕੇਟ ਅਤੇ ਸਰਵਰ ਅਤੇ ਕਲਾਇੰਟਾਂ ਵਿਚਕਾਰ ਇਨਕ੍ਰਿਪਟਡ ਸੰਚਾਰ ਲਈ ਵਰਤੀਆਂ ਜਾਂਦੀਆਂ ਨਿੱਜੀ ਕੁੰਜੀਆਂ ਸ਼ਾਮਲ ਹੁੰਦੀਆਂ ਹਨ। ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਬਣਾਇਆ ਜਾ ਸਕਦਾ ਹੈ keytool.
- SSL ਸੰਰਚਨਾ ਬਦਲਣ ਤੋਂ ਬਾਅਦ ਮੈਂ ਜ਼ੂਕੀਪਰ ਨੂੰ ਕਿਵੇਂ ਮੁੜ ਚਾਲੂ ਕਰਾਂ?
- SSL ਬਦਲਾਅ ਲਾਗੂ ਕਰਨ ਲਈ, ਕਮਾਂਡ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਜ਼ੂਕੀਪਰ ਨੂੰ ਮੁੜ ਚਾਲੂ ਕਰੋ /bin/bash zkServer.sh restart zoo.cfg ਕਲੱਸਟਰ ਵਿੱਚ ਹਰੇਕ ਨੋਡ ਲਈ।
- Zookeeper ਵਿੱਚ `ssl.client.enable=true` ਕੀ ਕਰਦਾ ਹੈ?
- 'zoo.cfg' ਵਿੱਚ ਇਹ ਸੈਟਿੰਗ Zookeeper ਕਲਾਇੰਟ ਅਤੇ Zookeeper ਸਰਵਰ ਵਿਚਕਾਰ SSL ਸੰਚਾਰ ਨੂੰ ਸਮਰੱਥ ਬਣਾਉਂਦੀ ਹੈ।
- SSL ਨੂੰ ਸਮਰੱਥ ਕਰਨ ਤੋਂ ਬਾਅਦ ਮੇਰਾ SOLR ਐਡਮਿਨ UI ਲੋਡ ਕਿਉਂ ਨਹੀਂ ਹੋ ਰਿਹਾ ਹੈ?
- ਇੱਕ ਆਮ ਕਾਰਨ SSL ਸਰਟੀਫਿਕੇਟ ਚੇਨ ਵਿੱਚ ਇੱਕ ਬੇਮੇਲ ਹੈ। ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਸਹੀ ਕੀਸਟੋਰ ਅਤੇ ਟਰੱਸਟਸਟੋਰ ਵਿੱਚ ਸੰਰਚਨਾ ਕੀਤੀ ਗਈ ਹੈ solr.in.sh ਅਤੇ ਜੇਟੀ ਦੀਆਂ ਸੰਰਚਨਾ ਫਾਈਲਾਂ।
- ਮੈਂ "SSL/TLS ਰਿਕਾਰਡ ਨਹੀਂ" ਤਰੁੱਟੀਆਂ ਨੂੰ ਕਿਵੇਂ ਹੱਲ ਕਰਾਂ?
- ਇਹ ਗਲਤੀ ਉਦੋਂ ਵਾਪਰਦੀ ਹੈ ਜਦੋਂ ਇੱਕ SSL ਕਨੈਕਸ਼ਨ ਉੱਤੇ ਗੈਰ-SSL ਡੇਟਾ ਭੇਜਿਆ ਜਾਂਦਾ ਹੈ। ਤਸਦੀਕ ਕਰੋ ਕਿ SOLR ਅਤੇ Zookeeper ਦੋਵੇਂ ਇੱਕੋ SSL ਪ੍ਰੋਟੋਕੋਲ ਦੀ ਵਰਤੋਂ ਕਰਨ ਲਈ ਸਹੀ ਢੰਗ ਨਾਲ ਸੰਰਚਿਤ ਹਨ, ਜਿਵੇਂ ਕਿ TLSv1.2.
SOLR ਅਤੇ Zookeeper ਨੂੰ ਸੁਰੱਖਿਅਤ ਕਰਨ ਬਾਰੇ ਅੰਤਿਮ ਵਿਚਾਰ
Zookeeper ਦੇ ਨਾਲ SOLR ਵਿੱਚ SSL ਮੁੱਦਿਆਂ ਨੂੰ ਹੱਲ ਕਰਨ ਲਈ, ਕੀਸਟੋਰ, ਟਰੱਸਟਸਟੋਰ, ਅਤੇ SSL ਪ੍ਰੋਟੋਕੋਲ ਵਰਗੇ SSL ਪੈਰਾਮੀਟਰਾਂ ਨੂੰ ਸਹੀ ਢੰਗ ਨਾਲ ਕੌਂਫਿਗਰ ਕਰਨ 'ਤੇ ਧਿਆਨ ਕੇਂਦਰਿਤ ਕਰੋ। ਇਹ ਕਦਮ ਯਕੀਨੀ ਬਣਾਉਂਦੇ ਹਨ ਕਿ ਸੁਰੱਖਿਅਤ ਸੰਚਾਰ ਸਾਰੇ ਨੋਡਾਂ ਅਤੇ ਗਾਹਕਾਂ ਵਿੱਚ ਸਥਿਰ ਹੈ।
ਪ੍ਰਕਿਰਿਆ ਦੌਰਾਨ ਗਲਤੀਆਂ ਅਤੇ ਚੇਤਾਵਨੀਆਂ ਲਈ ਲੌਗ ਫਾਈਲਾਂ ਦੀ ਨਿਗਰਾਨੀ ਕਰਨਾ ਜ਼ਰੂਰੀ ਹੈ। "ਟੁੱਟੀ ਪਾਈਪ" ਅਤੇ SSL ਹੈਂਡਸ਼ੇਕ ਅਸਫਲਤਾਵਾਂ ਜਿਵੇਂ ਕਿ ਸਾਰੀਆਂ SSL-ਸੰਬੰਧੀ ਸੰਰਚਨਾਵਾਂ ਕਲੱਸਟਰ ਨੋਡਾਂ ਵਿੱਚ ਇਕਸਾਰ ਹੋਣ ਅਤੇ SSL ਮਿਆਰਾਂ ਦੀ ਪਾਲਣਾ ਕਰਨ ਦੁਆਰਾ ਸਮੱਸਿਆਵਾਂ ਨੂੰ ਹੱਲ ਕਰੋ।
ਹਵਾਲੇ ਅਤੇ ਸਰੋਤ
- SOLR ਅਤੇ Zookeeper ਵਿੱਚ SSL ਨੂੰ ਕੌਂਫਿਗਰ ਕਰਨ ਬਾਰੇ ਸਪੱਸ਼ਟੀਕਰਨ ਅਧਿਕਾਰਤ ਸੋਲਰ ਦਸਤਾਵੇਜ਼ਾਂ 'ਤੇ ਅਧਾਰਤ ਸੀ: ਅਪਾਚੇ ਸੋਲਰ ਗਾਈਡ
- SSL ਮੁੱਦਿਆਂ ਲਈ ਸਮੱਸਿਆ ਨਿਪਟਾਰੇ ਦੇ ਪੜਾਅ ਜ਼ੂਕੀਪਰ ਦਸਤਾਵੇਜ਼ਾਂ ਤੋਂ ਲਏ ਗਏ ਸਨ: ਚਿੜੀਆਘਰ ਦੇ ਅਧਿਕਾਰਤ ਦਸਤਾਵੇਜ਼
- Java SSL ਸਾਕਟ ਸੰਰਚਨਾਵਾਂ 'ਤੇ ਵਾਧੂ ਵੇਰਵਿਆਂ ਦਾ ਹਵਾਲਾ ਦਿੱਤਾ ਗਿਆ ਸੀ: Oracle JSSE ਹਵਾਲਾ ਗਾਈਡ