nginx使用SSL指南

2021-06-22 15:46:46 字數 1841 閱讀 9892

原文:

在我們實際運維過程中,web服務難免會用ssl證書,比如註冊鏈結等,一般我們都會有下面2種情況進行設定

這裡我們以nginx為例,講講2種ssl證書的操作,apache其實也類似,可做參考。

第一種方式:自簽名的ssl證書(免費,但不被認證)

首先必須你要安裝好openssl,我想一般都會裝好,如果沒裝,那就先裝上,不管是yum還是apt

mkdir /etc/nginx/ssl/

openssl req -new -x509 -days 365 -nodes -out /etc/nginx/ssl/nginx.pem -keyout /etc/nginx/ssl/nginx.key

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]:5ilinux.com

organizational unit name (eg, section) :it

common name (eg, your name or your server's hostname) :5ilinux.com

email address :

chmod 400 nginx.pem

chmod 400 nginx.key

普通虛擬主機的設定

server

多個虛擬主機公用同乙個ssl證書

強制所有訪問都轉到https訪問

只要在80埠的虛擬主機裡設定

加了ssl後,關於nginx的引數優化,以下引數可以根據需要載入在http配置或者server配置裡

ssl_session_cache shared:ssl:10m; #預設是none

ssl_session_timeout 10m; #預設是5m

下面是一些加密的方式支援等,根據自己需要來設定

ssl_ciphers high:!anull:!md5 #預設一樣

ssl_prefer_server_ciphers on; #預設是off

ssl_protocols sslv2 sslv3 tlsv1; #預設是sslv3 tlsv1 tlsv1.1 tlsv1.2;

配置完這些,基本上我們都能訪問https的位址,只是可能會顯示證書不受信任,當然了,第一種方式是自簽名證書,所以我們有第2種常見可能

第二種:向商業機構申請ssl證書(收費,相對有安全保證)

首先也是用openssl生產乙個key和csr檔案

openssl req -new -days 365 -nodes -keyout 5ilinux.com.key -out 5ilinux.com.csr

生成的過程跟自簽名過程差不多

把獲得的csr檔案提交給權威ssl認證機構,他們會發給你乙個5ilinux.crt的證書

剩下的基本跟上面一樣,只不過證書名字換個就行

ssl_certificate /etc/nginx/ssl/5ilinux.com.crt;

ssl_certificate_key /etc/nginx/ssl/5ilinux.com.key;

參考文件:

nginx使用指南

注意訪問不用加images 上傳需要加 win子系統ubuntu mnt 下有c盤d盤等,不可以直接找到c盤下子系統根目錄copy檔案 因為它只能讀,不可寫入,就算可以寫入,系統也是無法找到這個檔案的。去cd mnt 下copy檔案到ubuntu系統目錄是可以成功得 server root opt ...

Nginx使用ssl模組配置HTTPS

https hyper text transfer protocol secure 是一種基於ssl tls的http,所有的http資料都是在ssl tls協議封裝之上進行傳輸的。https協議是在http協議的基礎上,新增了ssl tls握手以及資料加密傳輸,也屬於應用層協議。nginx希望伺服...

Nginx使用指南 一

nginx 的安裝遵循 automake 規則,所以安裝過程簡單,但如果需要使用 pcre 正規表示式庫,則稍點有曲折,本節主要講解如果帶 pcre 安裝,最好有 pcre 庫的源 包,這樣安裝相對簡單得多,本節的安裝方法也是基於 pcre 源 上的安裝。pcre nginx 1 先將pcre 和n...