一行https服务器
有很多单行HTTP服务器可用,例如一行https服务器
的Python
python -m SimpleHTTPServer 8000
红宝石
ruby -run -ehttpd . -p8000
等
是否有任何1线HTTPS服务器?如果他们生成自己的自签名证书,甚至更好。少量线路也可以工作。
红宝石WEBrick documentation有section on HTTPS。我需要添加DocumentRoot
和.start
,来到了这一点:
ruby -r webrick/https -e '
WEBrick::HTTPServer.new(
Port: 8000, DocumentRoot: ".",
SSLEnable: true, SSLCertName: [%w[CN localhost]]).start'
我使用Ruby 2.1.2的测试。
Hunchentoot可用于此目的。这一行相当长,但不是不可能。不过,您需要提供文件中的证书和密钥。
sbcl --eval '(progn
(and nil #.(require "hunchentoot"))
(setq hunchentoot:*dispatch-table*
(list (hunchentoot:create-folder-dispatcher-and-handler "/" "'`pwd`/'")))
(hunchentoot:start (make-instance (quote hunchentoot:easy-ssl-acceptor)
:port 8443
:ssl-privatekey-file "../cert.key"
:ssl-certificate-file "../cert.crt")))'
为了便于阅读,上面的命令被分成多行,它也可以作为一行输入。
谢谢,这太神奇了! – 2014-11-06 23:45:37
使用OpenSSL的s_server实用程序变得非常简单。我刚刚使用它来帮助在真正的后端准备好之前测试负载平衡器配置(而不是为本身提供内容)。第一行创建一个自签名证书。
openssl req -newkey rsa:2048 -nodes -x509 -subj '/CN=name-you-want.example.com' -days 3650 -out server.cert -keyout server.key
openssl s_server -accept 7781 -cert server.cert -key server.key -WWW
有关更多信息,请参见s_server的手册页。
太好了。然而,Chrome并不赞同加密:“服务器具有弱临时Diffie-Hellman公钥” – 2016-01-25 10:15:28
避免以下铬错误:
服务器具有弱短暂的Diffie-Hellman公钥
您需要提供一组密码是强大到足以满足镀铬的要求,例如:
-cipher kRSA+RSA
对我来说,以下工作:
openssl req -x509 -newkey rsa:4096 -nodes -sha256 -keyout key.pem -out cert.pem -days 365
openssl s_server -key key.pem -cert cert.pem -accept 443 -cipher kRSA+RSA
太棒了!谢谢! – 2016-06-23 09:42:03