For more information regarding the security incident at F5, the actions we are taking to address it, and our ongoing efforts to protect our customers, click here.

Forum Discussion

HumanSky_193882's avatar
HumanSky_193882
Icon for Nimbostratus rankNimbostratus
Mar 24, 2015

Routing git traffic

Is this possible to route git traffic with F5 to GitHub or BitBucket? I currently have a self-hosted git server, git.example.com, and we want to move everything over to Bitbucket, but I don't want to break all the scripts and developers workflow. Is there a way to move my git.example.com to F5 and create a rule that handles all git level traffic (ports 22 or 443)?

 

6 Replies

  • You could try using an iRule that will re-write your git.example.com/uri URIs to their corresponding BitBucket URIs and forward the traffic onto pool members that are Bitbucket IPs. I would definitely test this before directing your developer traffic to it. i.e.

    when HTTP_REQUEST {
        if { [string tolower [HTTP::host]] equals "git.example.com"} {
            HTTP::host bitbucket.org
            HTTP::uri /newpath[HTTP::uri]
        }
    }
    
    • HumanSky_193882's avatar
      HumanSky_193882
      Icon for Nimbostratus rankNimbostratus
      How would this be handled, say for example, if the local git repo is "git@git.example.com:drupal/site/foo" and the corresponding Bitbucket repo is "git@bitbucket.org:drupal_site_foo"? This is all through SSH (port 22).
  • You could try using an iRule that will re-write your git.example.com/uri URIs to their corresponding BitBucket URIs and forward the traffic onto pool members that are Bitbucket IPs. I would definitely test this before directing your developer traffic to it. i.e.

    when HTTP_REQUEST {
        if { [string tolower [HTTP::host]] equals "git.example.com"} {
            HTTP::host bitbucket.org
            HTTP::uri /newpath[HTTP::uri]
        }
    }
    
    • HumanSky_193882's avatar
      HumanSky_193882
      Icon for Nimbostratus rankNimbostratus
      How would this be handled, say for example, if the local git repo is "git@git.example.com:drupal/site/foo" and the corresponding Bitbucket repo is "git@bitbucket.org:drupal_site_foo"? This is all through SSH (port 22).