Cherrypy web application won't communicate outside localhost via VPN
- by Geoffrey Shea
I'm trying to run a Python2.7/Cherrypy web server on Win 7 which is connected to a VPN to establish a dedicate IP address. (If I run the exact same application on Win XP connected to the VPN it works fine.) On Win 7 I tried configuring it to use port 8080, 8005, or 80 with no improvements. I turned off Windows Firewall altogether to test and there was no improvement. If I run Apache on the Win 7 machine on port 80 it works fine so I'm pretty sure it's not the VPN service or router.
If I go to WhatismyIP.com it shows that I have the IP address being provided by the VPN.
Here is the Python code, but I suspect the problem is the network configuration:
import cherrypy
class HelloWorld:
def index(self):
return "Hello world!3"
index.exposed = True
cherrypy.root = HelloWorld()
cherrypy.config.update({"global":{ "server.environment": "production",
"server.socketPort": 8005
}
})
cherrypy.server.start()
This will return a web page if I go to localhost:8005, but not if I go to the VPN IP address:8005 from another machine. As I said, if I run Apache on the Win 7 machine on port 80 I can see it at localhost:80 AND at the VPN IP address:80 from another machine.
Thanks for any light you can shed!
Geoffrey