星期三, 11月 21, 2018

Jenkins HTTPS

依過去官網的說明,啟動 Jenkins 時可透過兩個參數指定憑證檔與金鑰檔的路徑,即可支援 https。由於我們用的是付費憑證,瀏覽器一直也用得沒什麼問題,但在 Jenkins Node 連回主節點時,總是抱怨憑證鍊問題,不得已總是要多加 -noCertificateCheck 來避免,今天總算是找到答案了:指定憑證即使是完整的憑證鍊,Jenkins 也是忽略不管,只能放 Java KeyStore 才算數;而且官網不久前也因此更新這篇說明,以後改給專屬的 JKS 以及保護密碼即可。

星期二, 11月 06, 2018

Most light-weight http(s) server

原本以為 Nginx 夠輕量了,但在考慮還要額外安裝的前提下,似乎就輸給 CentOS 上兩種預先備妥的方案:

  • openssl s_server -accept 443 -www
  • python -m SimpleHTTPServer
python 要搭配 https 其實也不麻煩,執行一個固定內容的檔案即可:
  • import BaseHTTPServer, SimpleHTTPServer
  • import ssl

  • httpd = BaseHTTPServer.HTTPServer(('', 443), SimpleHTTPServer.SimpleHTTPRequestHandler)
  • httpd.socket = ssl.wrap_socket (httpd.socket, certfile='./server.pem', keyfile='./server.key', server_side=True)
  • httpd.serve_forever()