下面是參考 nsssl 文件上如何產生 self-signed certificate 與我之前其它 server 的設定,綜合之後的筆記。
Creating self-signed certificate,首先是建立 localhost.conf 設定檔案:
[req]
prompt = no
default_md = sha256
default_bits = 2048
distinguished_name = dn
x509_extensions = v3_req
[dn]
C = TW
ST = Taiwan
L = Taipei
O = Orange Inc.
OU = IT Department
emailAddress = admin@example.com
CN = localhost
[v3_req]
subjectAltName = @alt_names
[alt_names]
DNS.1 = *.localhost
DNS.2 = localhost
IP.1 = 127.0.0.1
透過指令建立開發測試用途的自簽憑證:
openssl req -x509 -new -nodes -sha256 -utf8 -days 3650 \
-newkey rsa:2048 -keyout server.pem -out server.pem -config localhost.conf
(注意:如果是其它需要使用 private key 與 public key 的 server, 那麼 -keyout 可以設置為 server.key,而 -out 可以設置為 server.csr,以此類推)
然後將 server.pem 複製到 /var/lib/naviserver/modules/nsssl 目錄下。
接下來設定 NaviServer 的部份(修改 conf 目錄下的 nsd-config.tcl,或者是你的設定檔):
#
# NSSSL
#
ns_section ns/server/default/modules
ns_param nsssl nsssl.so
ns_section ns/server/default/module/nsssl
ns_param certificate $home/modules/nsssl/server.pem
ns_param address 127.0.0.1
ns_param port 8081
ns_param ciphers "ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!RC4"
ns_param protocols "!SSLv2:!SSLv3"
ns_param verify 0
ns_param extraheaders {
Strict-Transport-Security "max-age=31536000; includeSubDomains"
X-Frame-Options SAMEORIGIN
X-Content-Type-Options nosniff
}
原本範例 port 是設定為 443,不過因為 1024 以下的 port 需要 root 權限,所以我改成 8081 來進行測試。
注意:default 要視你的設定而定,因為我是使用一開始的 nsd-config.tcl 來測試,所以 server name 是 default。
沒有留言:
張貼留言