Linux下 nginx配置ssl證書實現https訪問
現在很多網站都會使用SSL證書對網站資料進行傳輸加密,尤其是銀行、金融、電商類的網站。但很多人對於https的理解都存在不少誤區,比如https會讓網站訪問速度變慢、消耗伺服器資源、增加網站成本等等。之所以會實現https加密保護,主要是因為該網站使用了SSL證書。
配置ssl證書之前,先準備SSL證書,獲取途徑有很多。有免費的,也有付費的。本人直接在阿里雲申請的免費證書,稽核時間很快,1小時內通過。
下面為詳細步驟:
登入阿里雲,找到SLL證書:
開啟頁面後選擇購買證書
選擇免費型
購買成功後 進入控制檯,可以看到剛才購買的證書列表,然後選擇申請
免費的證書只能繫結一個域名,所以在申請的時候填好自己的域名就行了。
等稽核通過後,選擇下載,根據自己的實際情況選擇相應的型別,本人的是nginx,所以就下載了nginx型別的證書
準備好證書後,找到nginx的安裝目錄,我的安裝位置為:/usr/local/nginx
進入 config/nginx.conf
命令:vim nginx.conf
開始配置檔案的修改
在修改配置檔案之前,最好做一個備份,防止修改錯誤,也能及時回退錯誤
找到第一個監聽80埠的server:以下是我修改好的server
server {
listen 80;
server_name 需要訪問的域名;
rewrite ^(.*) https://$server_name$1 permanent; #這句是代表 把http的域名請求轉成https
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
proxy_pass http://需要訪問的域名; #因為這裡還是80埠,所以保持http就可以了
}
}
在實際的配置檔案中,最好把我上面的備註刪除
第一個server修改好了之後。那麼就需要開始配置第二個server。拉到檔案的底部。看到有一個https型別的server。而且已經全部被註釋封上了,這是我們需要改的第二個server,如圖:
這裡除了HTTPS server這行之外,其他的 # 刪除,啟動https模組
# HTTPS server
#
server {
listen 443 ssl;
server_name 需要訪問的域名,這裡也不用加https;
ssl on;
ssl_certificate /usr/local/ssl/app/app.pem; #這裡是ssl key檔案存放的絕對路徑,根據自己的檔名稱和路徑來寫
ssl_certificate_key /usr/local/ssl/app/app.key; #這裡是ssl key檔案存放的絕對路徑,根據自己的檔名稱和路徑來寫
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://需要訪問的域名;
}
}
配置好後,nginx的配置就算是完成了。不過這只是配置ssl證書的第一步!
接下來就是要讓配置檔案生效:
進去nginx的sbin資料夾,我的sbin資料夾在:/usr/local/nginx/sbin
執行以下語句:檢驗配置檔案是否有錯誤
./nginx -t
如果nginx曾經安裝過SSL模組,那麼應該會顯示以下介面:(如果已經顯示配置成功,那麼可以跳過這一步,直接重啟nginx就可以了)
可是大多數第一次安裝https證書,都會報錯,說缺少SSL模組,如下:
這時候我們就可以先安裝SSL模組:
先確認2個位置:
1)我的nginx是安裝在了/usr/local/nginx/下
2)我的nginx的原始碼包放在了/usr/local/nginx/nginx/nginx-1.8.0下。如果沒有的話,重新下載你對應的nginx版本的原始碼包,找個目錄解壓
目錄切換到我們的原始碼包安裝位置:
cd /usr/local/nginx/nginx/nginx-1.8.0
執行語句,重新安裝ssl模組:
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
了。配置成功後,那麼就需要編譯我們的配置。(注意這裡只能用make 而不要用make install,因為執行make install是覆蓋安裝的意思)
執行:
make
等待執行完成後,我們需要把新編譯的nginx模組替換原來的nginx。
還是老規矩,先備份舊的nginx,執行語句(這裡面複製的檔案的路徑需要根據你們安裝的目錄自行修改,如果和我安裝的路徑是一樣的那麼可以直接執行該語句):
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
關閉nginx(因為要把新的模組覆蓋舊的nginx)
先找到nginx埠號,如圖,目前我nginx的程序號為:13542
ps -ef|grep nginx
殺死該程序就可以了,執行語句:
kill -QUIT 13542
關閉nginx程序後就可以開始替換了(注意:我當前的位置是在我nginx的原始碼包中,目錄不要搞錯了)
執行:(複製到我的nginx的目錄中)
cp ./objs/nginx /usr/local/nginx/sbin/
然後就是啟動nginx。在啟動之前,也可以在測試一次配置檔案是否已經生效:
#先切換到sbin目錄
cd /usr/local/nginx/sbin/
#檢測nginx的配置檔案是否有錯誤
./niginx -t
看到這樣的,就是已經成功了
最後啟動nginx:
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
因為剛才替換nginx模組的時候是把nginx程序都殺死了,所以要用上面的命令進行啟動,而不能使用reload重啟。
nginx正常啟動後,我們在訪問我們的網站,發現https就已經配置好了
有什麼不明白的可以留言,我看到後會一一回復。感謝大家支援!
我的公眾號,歡迎大家關注哦!
相關推薦
Linux下 nginx配置ssl證書實現https訪問
現在很多網站都會使用SSL證書對網站資料進行傳輸加密,尤其是銀行、金融、電商類的網站。但很多人對於https的理解都存在不少誤區,
nginx配置ssl證書實現https訪問
區分 idt 域名 aes ima list tool get nginx配置文件 一,環境說明 服務器系統:centos7.2 服務器IP地址:4xxxx 域名:bjubi.com 二,域名解析到服務器 在阿裏雲控制臺-產品與服務-雲解析DNS-找到需要解析的域名點“解析
nginx配置ssl證書實現https訪問(附圖解)
最近專案上為了安全訪問,需要把http請求升級到https,所以安裝了nginx來配置SSL證書。我們的證書是客戶購買阿里雲伺服器免費申請的,所以具體的申請是有客戶完成的(這一塊可以直接溝通阿里雲售後),我們拿到的兩個證書有兩個檔案,分別是:xxx.pem(公匙)檔案和xxx
nginx配置SSL證書實現https服務
在前面一篇文章中,使用openssl生成了免費證書 後,我們現在使用該證書來實現我們本地node服務的https服務需求。假如我現在node基本架構如下: |----專案 | |--- static # 存放html檔案 | | |--- index.html # in
Centos7.2下Nginx配置SSL支持https訪問(站點是基於.Net Core2.0開發的WebApi)
ack 保存 受害者 etc proxy cer 查看 綁定 客戶端 準備工作 1.基於nginx部署好的站點(本文站點是基於.Net Core2.0開發的WebApi,有興趣的同學可以跳http://www.cnblogs.com/GreedyL/p/7422796.ht
Nginx 配置SSL,實現 https 訪問
之前因為蘋果強制使用 HTTPS,在Apache上配置過SSL了,今天把 Apache換成了Nginx,記錄下Nginx配置SSL過程。 1、在Nginx conf目錄下新建一個 sslkey目錄(nginx-1.12.2\conf\sslkey),並將申請的證書(for
Centos7.5 下Nginx配置SSL支持https訪問。
reload clu stream rst real-ip upstream value 內容 com 核心配置: ? 通過指定由受信任的證書頒發機構(CA)頒發的有效證書,將服務器配置為偵聽端口上的HTTPS流量。? 通過配置nginx.conf文件來加強安全性。示例包括
Nginx配置SSL證書實現訪問HTTPS網站
一、什麼是 SSL 證書,什麼是 HTTPS SSL 證書是一種數字證書,它使用 Secure Socket Layer 協議在瀏覽器和 Web伺服器之間建立一條安全通道,從而實現: 1、資料資訊在客戶端和伺服器之間的加密傳輸,保證雙方傳遞資訊的安全性,不可被第三方竊
為Nginx配置 SSL 證書 + 開啟 HTTPS網站
1. SSL背景介紹 谷歌從 2017 年起,Chrome 瀏覽器將也會把採用 HTTP 協議的網站標記為「不安全」網站;蘋果從 2017 年 iOS App 將強制使用 HTTPS;在國內熱火朝天的
Nginx配置SSL證書部署HTTPS網站(頒發證書)
自行頒發不受瀏覽器信任的SSL證書 手動頒發 xshell登入伺服器,使用openssl生成RSA金鑰及證書 # 生成一個RSA金鑰 $ openssl genrsa -des3 -out tfjybj.key 1024 # 拷貝一個不需要輸入密碼的金
【spring boot】配置ssl證書實現https
【前言】這裡介紹在spring boot中配置真正的ssl證書,而不是自己隨便玩玩的那種證書。 【申請證書】以COMODO申請證書為例: 首先在服務上用openssl生成公鑰和私鑰 openssl req -new -key myPrivateKey.key -out
windows phpstudy appache 環境下安裝ssl證書 實現https訪問(以美橙互聯為例)
一、伺服器部署環境二、購買域名三、購買ssl(這裡買的免費的dv證書)證書並獲取證書到郵件(需要對域名加txt解析,會有提醒)3.1 3.2登入你郵箱獲取證書會發給你:3.2.1您的SSL證書私鑰:-----BEGIN RSA PRIVATE KEY--
Nginx配置SSL證書部署HTTPS網站
一、什麼是 SSL 證書,什麼是 HTTPS SSL 證書是一種數字證書,它使用 Secure Socket Layer 協議在瀏覽器和 Web 伺服器之間建立一條安全通道,從而實現: 1、資料資訊在客戶端和伺服器之間的加密傳輸,保證雙方傳遞資訊的安全性,不可被第三方竊聽
nginx配置ssl證書後無法訪問https
default conf panel 重啟nginx note 控制臺 class try_files auth 一直聽說https更安全,要安裝證書,一直沒試過,今天終於試了試 首先得有個http的域名網站,服務器。 到阿裏雲的安全-ssl證書管理申請一個免費
phpstudy整合環境Apache配置SSL證書支援https訪問
本文作者使用的整合環境為PHPstudy2018,具SSL證書獲得方法用多種這裡就贅述。只針對本文作者在阿里雲申請的免費SSL證書,做講解。 第一步:登入你的阿里雲帳號找到購買SSL證書,找不到的可以直接在阿里帳號上搜索。 如圖購買就行,無費用。 第二步:新增TXT域名解釋記錄值.
linxu下部署nginx的SSL證書(HTTPS)依賴模組與使用nginx.conf配置https協議詳解
一:開始Nginx的SSL模組1.1 Nginx如果未開啟SSL模組,配置Https時提示錯誤1nginx: [emerg] the "ssl" parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/n
WDCP上配置SSL證書即https 2017-08-28 百度總結 操作環境:linux的WDCP操作面板(沒有操作面板就在命令列操作) wdcp 安裝ssl證書教程實現https訪問 1.申請
百度總結 操作環境:linux的WDCP操作面板(沒有操作面板就在命令列操作) wdcp 安裝ssl證書教程實現https訪問 1.申請免費或付費證書 2.新建站點並 按照提示上傳SSL證書,證書名稱為:域名.KEY/域名.PEM 3.修改對應站點的.CONF檔案(配置檔案) 1234567
nginx下如何配置 ssl證書?騰訊雲ssl證書為例!
div null pass 一次 通過 如何 趨勢 oot title nginx下如何配置 ssl證書?騰訊雲ssl證書為例! 目前為止,https已經成為一種趨勢,想要開啟https就需要ssl證書。 首先,為域名註冊ssl證書。 騰訊雲註冊地址:https:
Centos7.5 下Nginx配置SSL支援https訪問。
核心配置: • 通過指定由受信任的證書頒發機構(CA)頒發的有效證書,將伺服器配置為偵聽埠上的HTTPS流量。• 通過配置nginx.conf檔案來加強安全性。示例包括選擇更強大的密碼,並將所有流量通過HTTP重定向到HTTPS。• 新增HTTP Strict-Transport-Security(HSTS
Ubuntu+Apache2配置騰訊雲ssl證書實現https
Ubuntu+Apache2配置騰訊雲ssl證書實現https 前言 本文所用的伺服器環境是 Ubuntu18.04 + Apache2 .通過部署 ssl 來達到預設使用https方式訪問網站的目的。 超文字傳輸安全協議(英語:Hypertext Transfer