有很多单行HTTP服务器可用,例如
的Python
python -m SimpleHTTPServer 8000
红宝石
ruby -run -ehttpd . -p8000
等
是否有1行https服务器?如果他们生成自己的自签名证书,甚至更好。少数几行也可以使用。
答案 0 :(得分:3)
Ruby 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测试过。
答案 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")))'
为了便于阅读,上面的命令已拆分为多行;它也可以作为单行输入。
答案 2 :(得分:1)
使用OpenSSL的s_server实用程序非常简单。我刚刚使用它来帮助在真正的后端准备好之前测试负载平衡器配置(不是为了提供内容本身)。第一行创建自签名证书。
str
有关详细信息,请参阅s_server的手册页。
答案 3 :(得分:1)
避免以下chrome错误:
服务器具有弱短暂的Diffie-Hellman公钥
您需要提供一组足够强大以满足chrome要求的密码,例如:
-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
答案 4 :(得分:1)
如果您想同时使用HTTP和HTTPS侦听器进行测试(并在服务器重新启动之前保持运行):
#Start an HTTP server with directory browsing
mkdir /tmp/www
cd /tmp/www; touch "$(hostname).txt"
sudo nohup python -m SimpleHTTPServer 80 > simplehttpserver.out &
#Start an HTTPS listener with some debug responses (I wonder if you can pipe to the HTTP server)
openssl req -x509 -newkey rsa:4096 -nodes -sha256 -keyout /tmp/key.pem -out /tmp/cert.pem -days 365 #Create self signed key. Only need this once and it will ask a few questions
sudo nohup openssl s_server -key /tmp/key.pem -cert /tmp/cert.pem -accept 443 -cipher kRSA+RSA -www > openssl.out &
答案 5 :(得分:1)
Browsersync做得很好。
安装方式
npm i -g browser-sync
通过
提供当前目录的内容browser-sync start -s --https
无需设置。有关其他功能,请参见docs。