隨著機械設計專題在近端與遠端分散式版次管理的需求, 我們增加在純 IPv6 模式下啟動近端 https 伺服器的按鈕.
IPv4 https 近端伺服器按鈕程式碼:
import os import subprocess import threading import http.server, ssl def domake(): # build directory os.chdir("./../") server_address = ('localhost', 5443) httpd = http.server.HTTPServer(server_address, http.server.SimpleHTTPRequestHandler) httpd.socket = ssl.wrap_socket(httpd.socket, server_side=True, certfile='localhost.crt', keyfile='localhost.key', ssl_version=ssl.PROTOCOL_TLSv1) print("5443 https server started") httpd.serve_forever() # 利用執行緒執行 https 伺服器 make = threading.Thread(target=domake) make.start()
IPv6 https 近端伺服器按鈕程式碼:
import os import subprocess import threading import socket import http.server, ssl class HTTPServerV6(http.server.HTTPServer): address_family = socket.AF_INET6 def domake(): # build directory os.chdir("./../") ipv6_address = '::1' server_address = (ipv6_address, 6443) #httpd = http.server.HTTPServer(server_address, http.server.SimpleHTTPRequestHandler) httpd = HTTPServerV6(server_address, http.server.SimpleHTTPRequestHandler) httpd.socket = ssl.wrap_socket(httpd.socket, server_side=True, certfile='localhost.crt', keyfile='localhost.key', ssl_version=ssl.PROTOCOL_TLSv1) print("6443 https server started") httpd.serve_forever() # 利用執行緒執行 https 伺服器 make = threading.Thread(target=domake) make.start()
另外, 為了配合近端與遠端全面支援雙網路協定伺服器, 所有 Pelican template 連結, 也都從 http 改為 https 連結.
Comments
comments powered by Disqus