隨著機械設計專題在近端與遠端分散式版次管理的需求, 我們增加在純 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