Mar 112014
In conjunction with the openssl scripts… a little bit of python code to fire up an ssl server… lots of them out there, this one is mine.
#!/usr/bin/env python
#
# fire up an HTTPS/ssl web server in the PWD (defaults to localhost:8081)
#
# optional - give a file name to serve up, like "$0 foofile.html"
# If you use this option it'll wait a few seconds and then try to open it
# using the
#
#
# Keyfiles are in variables... defaulting to /tmp + server.crt, server.key, and ca.crt.
#
import BaseHTTPServer, SimpleHTTPServer, os, sys, ssl
# server='192.168.0.7'
host = '127.0.0.1'
port = 8081
# cert files
certfile = "/tmp/server.crt"
keyfile = "/tmp/server.key"
ca_certz = "/tmp/ca.crt"
# command to open up a URL & the server
fetch_url = "open"
server = "https://%s:%s/" % (host, port)
# actual web server stuff
httpd = BaseHTTPServer.HTTPServer((host, port), SimpleHTTPServer.SimpleHTTPRequestHandler)
httpd.socket = ssl.wrap_socket (httpd.socket, ca_certs=ca_certz, certfile=certfile, keyfile=keyfile, server_side=True)
try:
# fire up a browser to fetch the url, but sleep a few seconds to give the server a chance to get going
if len(sys.argv) > 1:
shell_string = "(sleep 3; %s %s/%s) &" % (fetch_url, server, sys.argv[1])
try:
os.system(shell_string)
except:
print("'%s' not supported on this OS ('%s' works on mac)" % (fetch_url, "open"))
print "Serving SSL webz @ %s" % server
httpd.serve_forever()
except Exception, err:
print "couldn't start web server: %s" % err
#
# fire up an HTTPS/ssl web server in the PWD (defaults to localhost:8081)
#
# optional - give a file name to serve up, like "$0 foofile.html"
# If you use this option it'll wait a few seconds and then try to open it
# using the
#
#
# Keyfiles are in variables... defaulting to /tmp + server.crt, server.key, and ca.crt.
#
import BaseHTTPServer, SimpleHTTPServer, os, sys, ssl
# server='192.168.0.7'
host = '127.0.0.1'
port = 8081
# cert files
certfile = "/tmp/server.crt"
keyfile = "/tmp/server.key"
ca_certz = "/tmp/ca.crt"
# command to open up a URL & the server
fetch_url = "open"
server = "https://%s:%s/" % (host, port)
# actual web server stuff
httpd = BaseHTTPServer.HTTPServer((host, port), SimpleHTTPServer.SimpleHTTPRequestHandler)
httpd.socket = ssl.wrap_socket (httpd.socket, ca_certs=ca_certz, certfile=certfile, keyfile=keyfile, server_side=True)
try:
# fire up a browser to fetch the url, but sleep a few seconds to give the server a chance to get going
if len(sys.argv) > 1:
shell_string = "(sleep 3; %s %s/%s) &" % (fetch_url, server, sys.argv[1])
try:
os.system(shell_string)
except:
print("'%s' not supported on this OS ('%s' works on mac)" % (fetch_url, "open"))
print "Serving SSL webz @ %s" % server
httpd.serve_forever()
except Exception, err:
print "couldn't start web server: %s" % err
Sorry, the comment form is closed at this time.