Urgent: How to configure test for HTTPS?

168 views
Skip to first unread message

Julian Rendell

unread,
Jan 23, 2014, 4:11:04 PM1/23/14
to iago-...@googlegroups.com
Hi-

I've successfully got a basic test running with http, but I really need to test an https site.

Taking my basic example from https://github.com/julianrendell/iago-examples and changing the config file to have:

victims = "httpbin.org:443"
port = 443
scheme = "https"

results in errors like the following in parrot-server.log:

DEB [20140123-13:02:36.583] server: Response: Throw(com.twitter.finagle.ChannelClosedException: ChannelException at remote address: httpbin.org/54.243.166.106:443)
ERR [20140123-13:02:36.584] server: unexpected error: com.twitter.finagle.ChannelClosedException: ChannelException at remote address: httpbin.org/54.243.166.106:443
DEB [20140123-13:02:36.584] examples: headers response was Throw(com.twitter.finagle.ChannelClosedException: ChannelException at remote address: httpbin.org/54.243.166.106:443)
FAT [20140123-13:02:36.584] monitor: Exception propagated to the root monitor!
FAT [20140123-13:02:36.584] monitor: com.twitter.finagle.ChannelClosedException: ChannelException at remote address: httpbin.org/54.243.166.106:443
FAT [20140123-13:02:36.584] monitor:     at com.twitter.finagle.NoStacktrace(Unknown Source)

What have I misconfigured/what can I do to workaround this?

This is quite urgent for me- I need to provide some preliminary numbers for my developers tomorrow...

(Note: I'm not testing httpbin, nor sending a lot of load- just for the initial tests I'm doing it turns out to be very similar to that example :) )

Cheers,

Julian

Jonathan Strickland

unread,
Jul 1, 2014, 10:05:24 AM7/1/14
to iago-...@googlegroups.com
Hi Julian,

This thread is quite old but I did actually get https working for server side only authentication (just dealing with a data problem right now with 422 errors, hopefully will have this working in next hour).  I have not played with client authentication; there doesn't appear to be an exposed interface (at least have not deeply researched yet) for setting the client side cert.  Maybe something was fixed between your original post date and now.

import com.twitter.parrot.config.ParrotLauncherConfig

new ParrotLauncherConfig {

  doConfirm = false

  requestRate = 1
  duration = 20
  timeUnit = "SECONDS"

  victims = "myserver.cisco.com"
  log = "config/replay.log"
  reuseFile = true
  scheme = "https"
  header = "myserver.cisco.com"
  port = 443
 
  jobName = "simple_enroll"
  localMode = true

  //For debugging for now
  traceLevel = com.twitter.logging.Level.ALL
  verboseCmd = true

  imports = """
    import com.twitter.jexample.ComplexHtmlParserTest
    import org.jboss.netty.handler.codec.http.HttpResponse
    import com.twitter.conversions.time._
  """ 
 
  loadTest = "new ComplexHtmlParserTest(service.get, this)"

}



I followed and reviewed some of your example code at https://github.com/julianrendell/iago-examples; good stuff.  I feel your pain in some ways with your reference in another thread to having to go learn scala on the fly.  I haven't bit the bullet yet as switching between java, python, c++, ect.. is enough right now.  I did however write an example that actually works with pure java; its not optimized right now but basically has the keys in it to do the translations for instantiating and working with the scala objects from java.  I'll see if I can clean it up a little and fork your project off as a place holder for it.  My team was looking to write a complex parser for http testing that would understand like your code does of forming different requests based on the feeder lines we receive.  We were looking at something very generic that would work like the curl command line.

Regards,
Jonathan
Reply all
Reply to author
Forward
0 new messages