diff --git src/allmydata/node.py src/allmydata/node.py
index b68ee2f..45403c5 100644
--- src/allmydata/node.py
+++ src/allmydata/node.py
@@ -153,6 +153,10 @@ class Node(service.MultiService):
             # N.B.: this is in seconds, so use "1800" to get 30min
             self.tub.setOption("disconnectTimeout", int(disconnect_timeout_s))
 
+        http_proxy = self.get_config("node", "http_proxy", "")
+        if http_proxy:
+            self.tub.setOption("httpProxy", http_proxy)
+
         self.nodeid = b32decode(self.tub.tubID.upper()) # binary format
         self.write_config("my_nodeid", b32encode(self.nodeid).lower() + "\n")
         self.short_nodeid = b32encode(self.nodeid).lower()[:8] # ready for printing
diff --git src/allmydata/scripts/create_node.py src/allmydata/scripts/create_node.py
index 4e23ac0..b2b0d3e 100644
--- src/allmydata/scripts/create_node.py
+++ src/allmydata/scripts/create_node.py
@@ -73,6 +73,7 @@ def write_node_config(c, config):
         webport = ""
     c.write("web.port = %s\n" % webport)
     c.write("web.static = public_html\n")
+    c.write("#http_proxy =\n")
     c.write("#tub.port =\n")
     c.write("#tub.location = \n")
     c.write("#log_gatherer.furl =\n")