2016-08-17 65 views
0

我正在嘗試在我的彈簧引導應用程序中爲Jetty服務器配置AJP端口。但是,我已經看到有關Tomcat AJP連接器的示例,但不適用於Jetty。有人能告訴我如何在Jetty上配置AJP端口嗎?在Spring引導應用程序中在Jetty上配置AJP端口

+0

您使用的是什麼版本的春天啓動的? –

回答

2

默認情況下,Spring引導包捆綁了Jetty 9.3。 AJP功能已在9號碼頭中被拋棄。如果您真的需要使用AJP,那麼您必須將jetty 8添加到您的類路徑中,然後編寫一個自定義的JettyServerCustomizer(http://docs.spring.io/spring-boot/docs/current/api/org/springframework/boot/context/embedded/jetty/JettyServerCustomizer.html)。

我不認爲你會發現有關此配置的春季文檔中的任何內容。一旦你開始寫定製器,你必須通讀Jetty文檔來了解如何實現AJP配置。

Jetty已經停止AJP轉向HTTP連接器。除非你有一個真正的用例,否則我將會遷移到HTTP。

我沒有嘗試過的代碼,但這應該工作(需要在春季啓動代碼被包裹)

return new JettyServerCustomizer() { 

      @Override 
      public void customize(Server server) { 
       s.addConnector(new Ajp13SocketConnector()); 

      } 
     }; 

您需要在碼頭服務器8.x和碼頭,AJP 8.x的您類路徑。隨着最新版本8.x中,你的pom.xml(如果你是一個Maven的用戶)應包含以下內容:建議上面的例子中

<dependency> 
     <groupId>org.eclipse.jetty</groupId> 
     <artifactId>jetty-server</artifactId> 
     <version>8.1.19.v20160209</version> 
    </dependency> 
    <dependency> 
     <groupId>org.eclipse.jetty</groupId> 
     <artifactId>jetty-ajp</artifactId> 
     <version>8.1.19.v20160209</version> 
    </dependency> 
+0

有任何我可以使用的樣本? 我之前嘗試過使用jetty9,現在我正在嘗試使用jetty8。 無法弄清楚如何配置ajp –

+0

Jetty項目強烈建議在mod_ajp上使用Apache httpd的'mod_proxy'模塊 –

+0

謝謝v很多。 –

0

全樣本對於任何的參考

@Bean 
    public EmbeddedServletContainerFactory jettyContainer() { 
     JettyEmbeddedServletContainerFactory factory = new JettyEmbeddedServletContainerFactory(); 
     JettyServerCustomizer customizers = new JettyServerCustomizer() { 
      @Override 
      public void customize(Server server) { 
//    Connector connector = new Ajp13SocketConnector(); 
//    connector.setPort(9009); //if you want a custom port 
       server.addConnector(new Ajp13SocketConnector()); 
      } 
     }; 
     factory.addServerCustomizers(customizers); 
     return factory; 
    } 

日誌

oejetty.server.AbstractConnector:開始 [email protected]:7090 oejetty.server.AbstractConnector :開始[email protected]:9009 o.e.jetty.ajp.Ajp13SocketConnector:AJP13不是一個安全協議。 請保護端口9009 .s.b.c.e.j.JettyEmbeddedServletContainer: 碼頭開始端口7090,9009

相關問題