Nginx下配置Https證書詳細過程

2021-10-05 13:22:29 字數 3229 閱讀 5848

一、http與https的區別

http:是網際網路上應用最為廣泛的一種網路協議,是乙個客戶端和伺服器端請求和應答的標準(tcp),用於從www伺服器傳輸超文字到本地瀏覽器的傳輸協議,它可以使瀏覽器更加高效,使網路傳輸減少。

https:是以安全為目標的http通道,簡單講是http的安全版,即http下加入ssl層,https的安全基礎是ssl,因此加密的詳細內容就需要ssl。https協議的主要作用可以分為兩種:一種是建立乙個資訊保安通道,來保證資料傳輸的安全;另一種就是確認**的真實性。

https和http的區別主要如下:

1、https協議需要到ca申請證書,一般免費證書較少,因而需要一定費用。

2、http是超文字傳輸協議,資訊是明文傳輸,https則是具有安全性的ssl加密傳輸協議。

3、http和https使用的是完全不同的連線方式,用的埠也不一樣,前者是80,後者是443。

4、http的連線很簡單,是無狀態的;https協議是由ssl+http協議構建的可進行加密傳輸、身份認證的網路協議,比http協議安全。

二、使用openssl生成證書

openssl是目前最流行的ssl密碼庫工具,其提供了乙個通用、健壯、功能完備的工具套件,用以支援ssl/tls協議的實現。

比如生成到:/usr/local/ssl

openssl req -x509 -nodes -days 36500 -newkey rsa:2048 -keyout /usr/local/ssl/nginx.key -out /usr/local/ssl/nginx.crt

生成過程:

country name (2 letter code) [xx]:cn

state or province name (full name) :beijing

locality name (eg, city) [default city]:beijing

organization name (eg, company) [default company ltd]:***x

organizational unit name (eg, section) :***x

common name (eg, your name or your server』s hostname) :***x(一般是網域名稱)

email address :***x@***x.com

total 8

-rw-r–r--. 1 root root 1391 apr 21 13:29 nginx.crt

-rw-r–r--. 1 root root 1704 apr 21 13:29 nginx.key

三、nginx安裝http_ssl_module模組

nginx如果未開啟ssl模組,配置https時提示錯誤。

nginx缺少http_ssl_module模組,編譯安裝的時候帶上–with-http_ssl_module配置就行了。

本場景是伺服器已經安裝過nginx,但是未安裝http_ssl_module。

1.進入到原始碼包,如:

4.不需要執行make install,否則就覆蓋安裝了。

5.備份原有的nginx,如:

cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx_bak

6.然後將剛剛編譯好的nginx覆蓋掉原有的nginx(nginx需要停止)

cp ./objs/nginx /usr/local/nginx/sbin/

7.檢視安裝情況:

四、nginx配置https

貼部分配置資訊:

server
server

先檢驗配置的對不對:

/usr/local/nginx/sbin/nginx -t

nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok

nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

重啟nginx:

/usr/local/nginx/sbin/nginx -s reload

訪問:補充遇到得坑:

最後一步,nginx -s reload 得時候 報錯

[error] invalid pid number 「」 in 「/usr/local/nginx/logs/nginx.pid」

[root@localhost nginx]/usr/local/nginx/sbin/nginx -s reload

提示 nginx: [error] invalid pid number 「」 in 「/usr/local/nginx/logs/nginx.pid」

[root@localhost nginx]# cd logs

[root@localhost logs]# ls

access.log error.log nginx-access.log nginx_error.log

果然沒有/usr/local/nginx/logs/nginx.pid 檔案

解決方法:

[root@localhost nginx]/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

nginx 配置https證書

安裝證書 檔案說明 1.證書檔案214467769540415.pem,包含兩段內容,請不要刪除任何一段內容。2.如果是證書系統建立的csr,還包含 證書私鑰檔案214467769540415.key。2 開啟 nginx 安裝目錄下 conf 目錄中的 nginx.conf 檔案,找到 3 將其修...

Nginx配置Https證書

生成sll證書步驟 一 生成乙個rsa金鑰 openssl genrsa des3 out huqp.key 1024 二 拷貝乙個不需要輸入密碼的金鑰檔案 openssl rsa in huqp.key out huqp nopass.key 三 生成乙個證書請求 openssl req new ...

NGINX配置HTTPS證書

訪問網域名稱 www.xingyongsheng.top xingyongsheng.top 證書型別 在阿里雲申請的免費證書 上面兩個網域名稱申請其中之一即可 nginx版本 nginx 1.16.1 作業系統 centos linux release 7.8.2003 core 路徑 data ...