1. 程式人生 > >Nginx 配置https服務

Nginx 配置https服務

一、HTTPS 服務

為什麼需要HTTPS?
原因:HTTP不安全
    1、傳輸資料被中間人盜用、資訊洩露
    2、資料內容劫持、篡改

HTTPS協議的實現
    對傳輸內容進行加密以及身份驗證

HTTPS加密校驗方式
    非對稱加密+對稱加密
    CA簽名證書

二、生成祕鑰和CA證書

生產環境上可以直接從第三方機構獲取CA證書,跳過這一步。

#檢查是否安裝openssl
openssl version

步驟一:生成key祕鑰

#在/etc/nginx 目錄下新建 ssl_key 目錄
[[email protected] ~]# mkdir /etc/nginx/ssl_key
[[email protected] ~]# cd /etc/nginx/ssl_key #新建key檔案,並輸入密碼 [[email protected] ssl_key]# openssl genrsa -idea -out sam.key 1024 Generating RSA private key, 1024 bit long modulus ....................................++++++ ...................++++++ e is 65537 (0x10001) Enter pass phrase for sam.key: Verifying - Enter pass phrase for
sam.key:

步驟二:生成證書籤名請求檔案(csr檔案)

[[email protected] ssl_key]# openssl req -new -key sam.key -out sam.csr
Enter pass phrase for sam.key:
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or
a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [XX]:CN State or Province Name (full name) []:guangdong Locality Name (eg, city) [Default City]:guangzhou Organization Name (eg, company) [Default Company Ltd]:sam Organizational Unit Name (eg, section) []:sam Common Name (eg, your name or your server's hostname) []:sam Email Address []:[email protected] Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []:sam [[email protected] ssl_key]# ls sam.csr sam.key

步驟三:生成證書籤名檔案(CA證書) 或 從第三方機構獲取

[[email protected] ssl_key]# openssl x509 -req -days 3650 -in sam.csr -signkey sam.key -out sam.crt
[[email protected] ssl_key]# ls
sam.crt  sam.csr  sam.key

三、Nginx配置HTTPS

#配置語法

語法:ssl on|off;
預設值:ssl off;
上下文:http,server

語法:ssl_certificate file;
預設值:無
上下文:http,server

語法:ssl_certificate_key file;
預設值:無
上下文:http,server

配置用例

server {
    listen  443;    #https 監聽埠為443
    server_name www.sam.com;

    ssl on;
    ssl_certificate /etc/nginx/ssl_key/sam.crt;
    ssl_certificate_key /etc/nginx/ssl_key/sam.key;

    location / {
        root /opt/site/sam;
        index index.html index.htm;
    }
}

如果使用自籤的證書,在重啟nginx的時候會提示輸入key的密碼,輸入生成key時配置的密碼即可。

生產環境中,一般通過第三方機構獲取CA證書進行配置。

如從阿里雲獲取CA證書:
https://www.aliyun.com/product/cas?spm=5176.8142029.388261.255.23896dfadI4OJq

升級openssl 到 1.0.2

wget https://www.openssl.org/source/openssl-1.0.2k.tar.gz
tar -zxvf openssl-1.0.2k.tar.gz
cd openssl-1.0.2k
./config --prefix=/usr/local/openssl
make && make install
mv /usr/bin/openssl /usr/bin/openssl.OFF
mv /usr/include/openssl /usr/include/openssl.OFF
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/openssl/include/openssl /usr/include/openssl
echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
ldconfig -v
openssl version -a

相關推薦

HTTPS】自簽CA證書 && nginx配置https服務

什麽 serve 其中 keepalive 構建 root openss nginx配置 {}   首先,搭建https服務肯定需要一個https證書。這個證書可以看做是一個應用層面的證書。之所以這麽說是因為https證書是基於CA證書生成的。對於正式的網站,CA證書需要到

Nginx 配置https服務

一、HTTPS 服務 為什麼需要HTTPS? 原因:HTTP不安全 1、傳輸資料被中間人盜用、資訊洩露 2、資料內容劫持、篡改 HTTPS協議的實現 對傳輸內容進行加密以

阿里雲中ssl配置nginx安裝https服務

1.配置      a.阿里雲伺服器      b.安裝了nginx,php等 2.申請免費ssl證數 a. b. c.產看ssl證數 d.下載證數 e,這裡我下載的是nginx(crt與key檔案) f.伺服器上配置

Nginx 配置https 和 node多服務配置

準備工作 下載 SSL證書檔案 安裝了 nginx 的伺服器 你的域名已經解析到目標伺服器 證書安裝 以騰訊云為例,SSL 的證書檔案可以在你的控制檯SSL管理後臺檢視並下載。 其他伺服器配置可以參考 ssl證書安裝指引 下載證書並解壓

nginx配置HTTPS

rc4 script ont 蘋果 pri off mbo 創建服務 local 使用ssl模塊配置同時支持http和https並存 一,生成證書 # 1、首先,進入你想創建證書和私鑰的目錄,例如: cd /etc/nginx/ # 2、創建服務器私鑰,命令會

Nginx配置https的wordpress站點,wp-content目錄下資源404解決方案

pem list log 解決方案 content wordpress timeout nginx span wordpress 下配置 ssl證書, server { listen 443; server_name demo

nginx 配置https(可支持thinkphp的pathinfo模式)

nginx https thinkphp 打開文件: /usr/local/nginx/conf/nginx.conf 把下面兩個類似文件放到/usr/local/nginx/conf/文件夾中 1_www.baidu.com_bundle.crt; 2_ server {

Nginx 配置 HTTPS自簽名證書

sta num web oca pos sof AI bsp OS 工具:OpenSSL ssl的開源實現,幾乎實現了市面上所有的加密libcrypto: 通用加密庫, 任何軟件要實現加密功能 鏈接調用這個庫libssl: TLS/SSL 加密庫 openssl:

.Net Core和jexus配置HTTPS服務

spa log文件 https 個人 line fig rap 方式 phy 花了幾天時間,看了好多篇博客,終於搞定了網站的HTTPS服務,借此寫篇博客,來讓有需要的朋友少走彎路。 一、環境介紹   1、Linux下在Docker容器中部署好了一個網站,該網站需要通過外部提

Nginx 配置HTTPS 與Node.js 配置HTTPS方法

發生 win var 路徑 上傳 還需要 centos 重啟 我沒 前段時間公司網站要求加上HTTPS安全CA證書,公司服務器全是阿裏雲服務器,並且配有負載均衡,所以選擇直接在阿裏雲購買CA證書,阿裏雲有一種證書可以免費試用一年,決定申請此證書,阿裏雲證書需要驗證,阿裏雲有

Nginx配置Https詳細說明

Nginx Https TLS或傳輸層安全( transport layer security),它的前身是SSL(安全套接字層secure sockets layer),是Web協議用來包裹在一個受保護,加密封裝正常通道。采用這種技術,服務器和客戶端之間可以安全地進行交互,而不用擔心消息將被攔截和讀

為 docker 中的 nginx 配置 https

req dom target AI all 事件 inf power 就是 沒有 https 加持的網站會逐漸地被瀏覽器標記為不安全的,所以為網站添加 https 已經變得刻不容緩。對於商業網站來說,花錢購買 SSL/TLS 證書並不是什麽問題。但對於個人用戶來說,如果能有

nginx配置https訪問

添加 方式 客戶端瀏覽器 配置 匹配 能夠 編譯安裝 mail 們的 nginx配置https訪問一、https簡介HTTPS其實是有兩部分組成:HTTP + SSL/TLS,也就是在HTTP上又加了一層處理加密信息的模塊。服務端和客戶端的信息傳輸都會通過TLS進行加密,所

使用OpenSSL自建CA + Nginx配置HTTPS

ble not cer per see 當前目錄 認證 ner web Ubuntu 16.04(ECS),OpenSSL 1.0.2g 1 Mar 2016,Nginx 1.10.3 (Ubuntu), 瀏覽器:Chrome 67,Firefox 61,Edge 40,

Nginx 配置HTTPS

uri lec 兩種 openss work 字符 any 應該 cpu HTTPS 配置 客戶端通過 HTTPS 可與服務器進行安全的交互,不用擔心消息會被攔截和讀取。HTTPS 證書用來幫助客戶端核實它們連接的服務器的身份。 服務器證書是一個公共實體,它被發送到

Centos7 nginx 搭建https服務

echo sbin cert href scrip rest -- blog 建議 Nginx簡介 Nginx (engine x) 是一個高性能的HTTP和反向代理服務,也是一個IMAP/POP3/SMTP服務。Nginx是由伊戈爾·賽索耶夫為俄羅斯訪問量第二的Rambl

[小白學習]Docker入門(二)-Nginx配置Https

請這一篇前請先看完 《[小白學習]Docker入門》連結地址: https://blog.csdn.net/c364902709/article/details/80924690 一、啟動nginx 啟動nginx: docker run -d -p 81:80 nginx 檢視容器i

Nginx配置https站點

Nginx配置HTTPS 最近配置了現網網站的HTTPS,簡單記錄一下配置過程。 先交代一下我的服務部署環境:Nginx監聽80埠,轉發到Tomcat的8080埠;伺服器使用的是阿里雲的ECS,作業系統是Windows Server 2012;CA證書也是在阿里雲的CA證書服務上面申請的免費

Nginx配置https並自簽名證書

曾經iOS 為安全起見要求所有請求必須https,記錄專案中配置https過程。 # 生成一個RSA金鑰 openssl genrsa -des3 -out xgj.key 1024 # 拷貝一個不需要輸入密碼的金鑰檔案 openssl rsa -in xgj.key -out xg

阿里雲伺服器nginx配置 https ssl證書

參照: https://www.cnblogs.com/tianhei/p/7726505.html linux vi顯示行號命令→   1. 顯示行號 :set number 或者 :set nu 2. 取消行號顯示 :set nu! 3. 每次