2010-03-08 9 views
8

हम एक webservice के साथ एक अनुप्रयोग के रूप में एक आवेदन लागू कर रहे हैं और webservice प्रदान करने के लिए ग्लासफ़िश 3.0 एम्बेडेड distri का उपयोग करने का फैसला किया। और यह काम करता है।ग्लासफ़िश 3.0 एम्बेडेड एपीआई में एसएसएल (एचटीटीपीएस) को सक्रिय करने के लिए कैसे?

हमें webservice के लिए एक एसएसएल (HTTPS) कनेक्शन की आवश्यकता है, लेकिन हमें एम्बेडेड एपीआई के माध्यम से इसे प्रोग्रामेटिक रूप से सक्रिय करने के लिए कोई दस्तावेज या संकेत नहीं मिला।

इस प्रकार हमने डोमेन.एक्सएमएल के माध्यम से एम्बेडेड ग्लासफ़िश को कॉन्फ़िगर करने का प्रयास किया, एसएसएल के साथ एक श्रोता कॉन्फ़िगर किया गया है। और बंदरगाह पहुंच योग्य है लेकिन केवल एसएसएल के बिना। एम्बेडेड ग्लासफ़िश पोर्ट के लिए SSL को सक्रिय करने के लिए कॉन्फ़िगरेशन को अनदेखा कर रहा है।

क्या किसी को SSL के साथ एम्बेडेड ग्लासफ़िश को कॉन्फ़िगर करने में अनुभव है?

+0

प्रोग्रामिंग से संबंधित नहीं है? –

+0

स्टैक ओवरफ्लो के लिए काफी लक्ष्य पर लगता है; अगर हम उन्हें सर्वरफॉल्ट पर भेजते हैं, तो क्या उन्हें वास्तव में जवाब मिलेगा? – Will

+0

यह प्रश्न ग्लासफ़िश के एम्बेडेड एपीआई का उपयोग कर ** जावा से ग्लासफ़िश ** शुरू करने और छेड़छाड़ करने के बारे में है। यह 100% प्रोग्रामिंग से संबंधित है। –

उत्तर

3

ठीक है, क्षमा करें कि मेरे उत्तर के लिए इतना समय लगा।

प्रोग्रामेटिकल एम्बेडेड एपीआई इस कार्य को करने के लिए एक तरीका नहीं है। एक asadmin आदेश को चलाने के लिए छोड़कर:

logger.debug("Configure port for SSL"); 
     String command = "create-http-listener"; 
     ParameterMap params = new ParameterMap(); 
     params.add("listeneraddress", "0.0.0.0"); 
     params.add("listenerport", "443"); 
     params.add("defaultvs", "server"); 
     params.add("securityenabled", "true"); 
     params.add("enabled", "true"); 
     params.add("DEFAULT", "http-listener2"); 
     CommandRunner runner = server.getHabitat().getComponent(CommandRunner.class); 
     ActionReport report = server.getHabitat().getComponent(ActionReport.class); 
     runner.getCommandInvocation(command, report).parameters(params).execute(); 

इस कोड को निष्पादित करने के लिए चल रहा है simmlar है:

asadmin create-http-listener --listeneraddress 0.0.0.0 --listenerport 443 --defaultvs server securityenabled=true --enabled=true http-listener2 

लेकिन इस समाधान एसएसएल के साथ एक नया बंदरगाह पैदा करता है। पहले से शुरू पोर्ट बंद करना एक अच्छा विकल्प होगा।

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