越来越多的Web API调用依赖HTTPS环境,比如Web Bluetooth API,Web Geo API,Web Notificaiton API等等,以下步骤快速搭建一个HTTPS开发服务器。

环境准备

OS X 10.11.6(El Capitan)
Python 2.7.10 (OS自带)
OpenSSL 1.0.2h 3 May 2016(brew install openssl)
Google Chrome Version 52.0.2743.116 (64-bit)

生成证书

1
openssl req -new -x509 -keyout server.pem -out server.pem -days 365 -nodes

证书信息都可以留空,只有Common Name填写自定义域名,此处使用通二级域名
Common Name (e.g. server FQDN or YOUR name) []:*.alpha.me
会在当前目录下生成server.pem证书。

使用证书

vi https-server.py

1
2
3
4
5
6
7
8
9
import BaseHTTPServer, SimpleHTTPServer
import ssl
httpd = BaseHTTPServer.HTTPServer(('localhost', 4443), SimpleHTTPServer.SimpleHTTPRequestHandler)
httpd.socket = ssl.wrap_socket (httpd.socket, certfile='./server.pem', server_side=True)
httpd.serve_forever()

启动https服务器

1
python simple-https-server.py

Chrome访问

https://localhost:4443


不受信的证书提醒

添加证书到可性

查看证书信息


将证书样的图片拖到桌面,在桌面生成一个*.alpha.me.cer的文件,双击直接导入到Keychain Access

双击打开新添加的证书


设置为总是信任

关闭证书信息,需要输入用户密码

图标变成蓝十字,说明更改成功

添加域名到/etc/hosts

1
sudo vi /etc/hosts

结果

重启Chrome,浏览器https://1.alpha.me:4443