添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
爱热闹的稀饭  ·  院士专家·  3 月前    · 
低调的梨子  ·  CGAL 6.0 - 2D ...·  5 月前    · 

Tomcat fails to start in 7.3+ due to protocol deprecation in Tomcat 8.5

Closed:
Assignee:
Priority:
Resolution:
Closed
Unassigned
Low Low
Fixed
Component/s
System Administration - General Configuration
Affected version/s
7.3.0
Fix version/s:
None
Label/s
affects-server
Reporter:
ScottC
Votes:
4
Watchers:
45
Linked Issues:

Description

Summary

Tomcat crashes on startup when JIRA is configured for SSL using protocol="org.apache.coyote.http11.Http11Protocol" in server.xml.

  • Connector org.apache.coyote.http11.Http11Protocol was removed in Tomcat 8.5
  • Environment

  • JIRA 7.3/Tomcat 8.5.6 installed with SSL per our documentation Running JIRA applications over SSL or HTTPS
  • Steps to Reproduce

  • Configure JIRA with SSL
  • protocol="org.apache.coyote.http11.Http11Protocol" set in server.xml as per recommended configuration
  • Expected Results

    JIRA starts with SSL enabled

    Actual Results

    Tomcat fails and is unable to start. The below exception is thrown in the catalina.out file:

    06-Jan-2017 11:46:26.846 SEVERE [main] org.apache.catalina.connector.Connector.<init> Protocol handler instantiation failed
     java.lang.ClassNotFoundException: org.apache.coyote.http11.Http11Protocol
    	at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    	at java.lang.Class.forName0(Native Method)
    	at java.lang.Class.forName(Class.java:264)
    	at org.apache.catalina.connector.Connector.<init>(Connector.java:74)
    	at org.apache.catalina.startup.ConnectorCreateRule.begin(ConnectorCreateRule.java:64)
    	at org.apache.tomcat.util.digester.Digester.startElement(Digester.java:1190)
    	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:509)
    	at com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:182)
    	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1339)
    	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2784)
    	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:602)
    	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:505)
    	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:841)
    	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:770)
    	at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
    	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213)
    	at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:643)
    	at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1458)
    	at org.apache.catalina.startup.Catalina.load(Catalina.java:578)
    	at org.apache.catalina.startup.Catalina.load(Catalina.java:629)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    	at java.lang.reflect.Method.invoke(Method.java:498)
    	at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:311)
    	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:494) 

    Resolution

    Modify JIRA_INSTALL/conf/server.xml. Change the protocol on your HTTPS connector to: protocol="org.apache.coyote.http11.Http11NioProtocol"

  • If you do not use the HTTP Connector but use the AJP Connector instead, use the AJP NIO protocol instead.
  • The AJP connector is: protocol="org.apache.coyote.ajp.AjpNioProtocol"
  • Refer to Upgrade notes for 7.3 for instructions. See Running JIRA applications over SSL.

    See Running JIRA applications over SSL or HTTPS for full directions on running JIRA over SSL or HTTPS.

    Comments

    Greg Freyenberger
    Added 1/10/17 6:30 PM

    That was the issue!  Thanks for the fix!!!

    Severin Wanzenried
    Added 1/13/17 11:34 PM

    thanks for the workaround, saved me!

    nxsnlpurchase
    Added 1/15/17 10:10 AM

    After quite some time troubleshooting i found this article which solved the problem for me. thanks.

    Ops
    Added 1/16/17 1:12 PM

    Worked for me too - thank you for the fix.

    Michael Wang
    Added 1/17/17 8:51 PM

    Well, wish I came here first.  Spent a few hours troubleshooting before finding this.  Thanks

    Pawel Farid
    Added 2/10/17 3:20 PM

    Hello znoorsazali

    The way you configure Tomcat to work over SSL has changed (we have updated Tomcat). This requires configuration changes that you need to do by yourself. We've failed to update our docs and now it's done.
    Please refer to this comment .

    Cheers

    Sean P Mcdermott
    Added 2/12/17 6:46 PM

    The issue also happens on clean, new installs if you use config.sh to setup SSL.  Drove me crazy for a couple hours until I found this note in the "upgrade" section.

    Pawel Farid
    Added 2/13/17 12:42 PM