2012-08-06 25 views
6

में चलाने के लिए टॉमकैट -7 एम्बेड करें मैं एम्बेडेड टॉमकैट चलाने के लिए चाहता हूं जो केवल HTTPS (8443) का उपयोग करता है। मैं 8080 बंदरगाह का उपयोग नहीं करना चाहता हूं। कोई विचार?केवल https

 

    Connector httpsConnector = new Connector(); 
    httpsConnector.setPort(httpsPort); 
    httpsConnector.setSecure(true); 
    httpsConnector.setScheme("https"); 
    httpsConnector.setAttribute("keystoreFile", appBase + "/.keystore"); 
    httpsConnector.setAttribute("clientAuth", "false"); 
    httpsConnector.setAttribute("sslProtocol", "TLS"); 
    httpsConnector.setAttribute("SSLEnabled", true); 

    Tomcat tomcat = new Tomcat(); 
    tomcat.getService().addConnector(httpsConnector); 
    tomcat.setPort(8080); 
    Connector defaultConnector = tomcat.getConnector(); 
    defaultConnector.setRedirectPort(8443); 

    tomcat.setBaseDir("."); 
    tomcat.getHost().setAppBase(appBase); 

    StandardServer server = (StandardServer) tomcat.getServer(); 
    AprLifecycleListener listener = new AprLifecycleListener(); 
    server.addLifecycleListener(listener); 

धन्यवाद

+0

क्या आपने 8080 पोर्ट को मना करने का प्रबंधन किया था? –

उत्तर

2

आप के लिए होता है कनेक्टर [बिल्ला-निर्देशिका] /conf/server.xml में परिभाषित किया गया है जो इसे 8080 को बांधता हटाने और HTTPS के लिए एक अलग संबंधक है।

+0

वास्तव में मैं tomcat एम्बेड कर रहा हूँ, मैं वहाँ server.xml का उपयोग नहीं करते हैं। प्रोग्रामेटिक कनेक्टर जोड़ा जाएगा – Srinivas

+0

आपका टॉमकैट कैसे शुरू हो रहा है? क्या आप अपने प्रश्न में अधिक जानकारी दे सकते हैं? – Chris

+0

संपादित पोस्ट – Srinivas

0

मैंने httpsConnector बनाने के लिए प्रश्न में स्निपेट का उपयोग करने की कोशिश की और यह बहुत अच्छा काम किया!

httpsConnector.setAttribute("keystorePass", "YOUR-PASSWORD-HERE"); 

पासवर्ड मैं सेटअप करने के लिए सेट किया जा रहा है कि जब creating the keystorekeytool साथ चाल किया: सिवाय मैं एक लापता पंक्ति जोड़ने के लिए किया था।

धन्यवाद!

0

टॉमकैट उदाहरण से डिफ़ॉल्ट कनेक्टर प्राप्त करें और इसे https के लिए सेट करें। इस तरह कोई अन्य कनेक्टर नहीं है:

Connector defaultConnector = tomcat.getConnector(); 
    defaultConnector.setPort(8443); 
    defaultConnector.setSecure(true); 
    defaultConnector.setScheme("https"); 
    defaultConnector.setAttribute("keystorePass", "password"); 
    defaultConnector.setAttribute("keystoreFile", absolutePath + "/keystore.jks"); 
    defaultConnector.setAttribute("clientAuth", "false"); 
    defaultConnector.setAttribute("sslProtocol", "TLS"); 
    defaultConnector.setAttribute("SSLEnabled", true);