NGINX 配置本地HTTPS 免費證書

2021-09-25 05:57:41 字數 2083 閱讀 5666

linux系統下生成證書

生成秘鑰key,執行:

$ openssl genrsa -des3 -out server.key 2048

1會有兩次要求輸入密碼,輸入同乙個即可

輸入密碼

然後你就獲得了乙個server.key檔案. 

以後使用此檔案(通過openssl提供的命令或api)可能經常回要求輸入密碼,如果想去除輸入密碼的步驟可以使用以下命令:

$ openssl rsa -in server.key -out server.key

建立伺服器證書的申請檔案server.csr,執行:

openssl req -new -key server.key -out server.csr

其中country name填cn,common name填主機名也可以不填,如果不填瀏覽器會認為不安全.(例如你以後的url為https://abcd/***x….這裡就可以填abcd),其他的都可以不填. 

建立ca證書:

openssl req -new -x509 -key server.key -out ca.crt -days 3650

此時,你可以得到乙個ca.crt的證書,這個證書用來給自己的證書簽名. 

建立自當前日期起有效期為期十年的伺服器證書server.crt:

openssl x509 -req -days 3650 -in server.csr -ca ca.crt -cakey server.key -cacreateserial -out server.crt

ls你的資料夾,可以看到一共生成了5個檔案:

ca.crtca.srlserver.crt   server.csrserver.key

1其中,server.crt和server.key就是你的nginx需要的證書檔案. 

三、如何配置nginx

開啟你的nginx配置檔案,搜尋443找到https的配置,去掉這段**的注釋.或者直接複製***的這段配置:

server {

listen 443;

server_name localhost;

ssl on;

ssl_certificate /root/lee/keys/server.crt;#配置證書位置

ssl_certificate_key /root/lee/keys/server.key;#配置秘鑰位置

#ssl_client_certificate ca.crt;#雙向認證

#ssl_verify_client on; #雙向認證

ssl_session_timeout 5m;

ssl_protocols sslv2 sslv3 tlsv1;

ssl_ciphers all:!adh:!export56:rc4+rsa:+high:+medium:+low:+sslv2:+exp;

ssl_prefer_server_ciphers on;

將ssl_certificate改為server.crt的路徑,將ssl_certificate_key改為server.key的路徑. 

nginx -s reload 過載配置 

至此,nginx的https就可以使用了,預設443埠.

如果出現報錯資訊:

nginx: [emerg] bio_new_file("/user/local/nginx/temp/server.crt") failed (ssl: error:02001002:system library:fopen:no such file or directory:fopen('/user/local/nginx/temp/server.crt','r') error:2006d080:bio routines:bio_new_file:no such file)

把server.crt 和server.key 檔案放在nginx/conf資料夾下。(和nginx.conf檔案同一資料夾)

ssl_certificate  server.crt;

ssl_certificate_key  server.key;

nginx 配置本地https 免費證書

linux系統下生成證書 生成秘鑰key,執行 openssl genrsa des3 out server.key 2048 1會有兩次要求輸入密碼,輸入同乙個即可 輸入密碼 然後你就獲得了乙個server.key檔案.以後使用此檔案 通過openssl提供的命令或api 可能經常回要求輸入密碼,...

NGINX 配置本地HTTPS 免費證書

linux系統下生成證書 生成秘鑰key,執行 openssl genrsa des3 out server.key 2048 會有兩次要求輸入密碼,輸入同乙個即可 輸入密碼,然後你就獲得了乙個server.key檔案.以後使用此檔案 通過openssl提供的命令或api 可能經常回要求輸入密碼,如...

nginx本地配置

2。命令 start nginx 會生成log nginx.pid nginx s reload 沒有nginx.pid無法reload nginx stop 3。配置 listen 即外界訪問的埠 server name 可不要 location 匹配的路徑,所有請求都被匹配到這裡 伺服器 ind...