Ashish, thx. Will try your solution. Please also kindly send a notice after you 
submit the patch.
 
Shushuai
 

________________________________
 From: Ashish <[email protected]>
To: [email protected]; shushuai zhu <[email protected]> 
Sent: Wednesday, June 26, 2013 5:28 AM
Subject: Re: How to use HTTPS with HTTPSource?
  


The example I shared works for Jetty 9, Flume uses 6.1.26.
Here is a basic version. Add these lines in HTTPSource in start() method. This 
is a basic version. You would like to read these properties from flume config 
in configure(). This is small stuff.

SslSocketConnector sslSocketConnector = new SslSocketConnector();
sslSocketConnector.setKeystore("jettykeystore");
sslSocketConnector.setKeyPassword("password"); 
sslSocketConnector.setPort(8443);
srv.setConnectors(new Connector[] { connector, sslSocketConnector });


Here is how it would like 

  @Override
  public void start() {
    Preconditions.checkState(srv == null,
            "Running HTTP Server found in source: " + getName()
            + " before I started one." 
            + "Will not attempt to start.");
    srv = new Server();
    SocketConnector connector = new SocketConnector();
    connector.setPort(port);
    connector.setHost(host); 

        SslSocketConnector sslSocketConnector = new SslSocketConnector();
        sslSocketConnector.setKeystore("jettykeystore");
        sslSocketConnector.setKeyPassword("password"); 
        sslSocketConnector.setPort(8443);

    srv.setConnectors(new Connector[] { connector, sslSocketConnector });
    try {
      org.mortbay.jetty.servlet.Context root = 
              new org.mortbay.jetty.servlet.Context(
              srv, "/", org.mortbay.jetty.servlet.Context.SESSIONS);
      root.addServlet(new ServletHolder(new FlumeHTTPServlet()), "/"); 
      srv.start();
........

To submit a patch, would need to refine the code a bit and add test cases. 
Shall take a while. HTH !



On Mon, Jun 24, 2013 at 8:24 PM, shushuai zhu <[email protected]> wrote:

Ashish, thanks again. Could you elaborate a little more what I should do? I am 
relatively new to Flume (just started using it a couple of weeks ago) and also 
new to open source code base.  
> 
>Shushuai
> 
> From: Ashish <[email protected]>
>To: [email protected]; shushuai zhu <[email protected]> 
>Sent: Friday, June 21, 2013 10:38 PM
>
>Subject: Re: How to use HTTPS with HTTPSource?
> 
>
>
>HTTP source has not changed much :) One way to patch in additional SSL stuff 
>in jetty code. The second more tedious way is to use NIO framework with SSL 
>code like Netty or MINA. We are working on MINA M1 release and perhaps after 
>that shall take a tab at writing an HTTP source based on that.
>
>
>HTH !
>
>
>
>On Sat, Jun 22, 2013 at 3:07 AM, shushuai zhu <[email protected]> wrote:
>
>Ashish, 
>> 
>>Thanks for the pointer. So I will create my own source, say HTTPSSource, 
>>which extends the HTPSource to add the https connection, then use the custom 
>>HTTPSSource in flume.conf. 
>> 
>>Is this the right source code you referred (I am using flume 1.3.1)?
>> 
>>https://git-wip-us.apache.org/repos/asf?p=flume.git;a=tree;f=flume-ng-core/src/main/java/org/apache/flume/source/http;h=fa5477033ca23c075fec6af2c391b01d1d49f69a;hb=trunk
>>  
>> 
>>Shushuai
>>
>> 
>> From: Ashish <[email protected]>
>>To: [email protected]; shushuai zhu <[email protected]> 
>>Sent: Friday, June 21, 2013 5:09 AM
>>Subject: Re: How to use HTTPS with HTTPSource?
>> 
>>
>>
>>AFAIK, HTTPSource doesn't support HTTPS. HTTP Source uses embedded jetty, so 
>>it would extending HTTP source to add SSL configuration for this.
>>
>>
>>This link should help 
>>http://git.eclipse.org/c/jetty/org.eclipse.jetty.project.git/tree/examples/embedded/src/main/java/org/eclipse/jetty/embedded/ManyConnectors.java
>> 
>>
>>
>>It should be just few lines of code change.
>>
>>
>>Please note I am referring to source code in master branch.
>>
>>
>>
>>On Thu, Jun 20, 2013 at 1:40 AM, shushuai zhu <[email protected]> wrote:
>>
>>Hi, 
>>> 
>>>I am using HTTP to transfer data from remote machine to HTTPSource of Flume 
>>>agent (the flume conf. file looks like below). Is HTTPS supported? Anyone 
>>>has examples to use HTTPS to transfer the data? 
>>>
>>>agent1.sources = r1
>>>agent1.sources.r1.type = org.apache.flume.source.http.HTTPSource
>>>agent1.sources.r1.port = 41415
>>>agent1.sources.r1.channels = ch1
>>>agent1.sources.r1.handler = org.apache.flume.source.http.JSONHandler
>>>
>>>Thanks.
>>>
>>>Shushuai
>>>    
>>
>>
>>
>>-- 
>>thanks
>>ashish
>>
>>Blog: http://www.ashishpaliwal.com/blog
>>My Photo Galleries: http://www.pbase.com/ashishpaliwal  
>>
>>   
>
>
>
>-- 
>thanks
>ashish
>
>Blog: http://www.ashishpaliwal.com/blog
>My Photo Galleries: http://www.pbase.com/ashishpaliwal 
>
>   


-- 
thanks
ashish

Blog: http://www.ashishpaliwal.com/blog
My Photo Galleries: http://www.pbase.com/ashishpaliwal 

Reply via email to