搭建Nginx Https 2018-04-09

此文記錄我為搭建https的流程,過程艱辛,最后簡單粗暴的記一下,免得忘了,也供各位參考。其中每個(gè)步驟的細(xì)節(jié)再自行在網(wǎng)上搜索都有更詳細(xì)的內(nèi)容。

環(huán)境:ubuntu 16.04

Https生成證書后需要CA認(rèn)證。未認(rèn)證的搭建好后,瀏覽器會首先出現(xiàn)此網(wǎng)站不安全提示,選擇繼續(xù)訪問后才可訪問。https://github.com/certbot/certbot提供了免費(fèi)認(rèn)證功能,有效期90天。但之后重新生成證書就可以繼續(xù)使用。

準(zhǔn)備好工具:apt-get install git ,apt-get install nginx

一、未認(rèn)證的證書

1、安裝openssl?

????apt-get install git openssl

2、生成證書

在/etc/nginx下新建了一個(gè)ssl文件夾用于保存證書等文件:

? ? cd /etc/nginx

? ? mkdir ssl

? ? cd ssl

? ??1.創(chuàng)建服務(wù)器證書密鑰文件 server.key:

????openssl genrsa -des3 -out server.key 1024

????輸入密碼,確認(rèn)密碼,自己隨便定義,但是要記住,后面會用到。

????2.創(chuàng)建服務(wù)器證書的申請文件 server.csr

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

????輸出內(nèi)容為:

????Enter pass phrase for root.key: ← 輸入前面創(chuàng)建的密碼?

????Country Name (2 letter code) [AU]:CN ← 國家代號,中國輸入CN?

????State or Province Name (full name) [Some-State]:BeiJing ← 省的全名,拼音?

????Locality Name (eg, city) []:BeiJing ← 市的全名,拼音?

????Organization Name (eg, company) [Internet Widgits Pty Ltd]:MyCompany Corp. ← 公司英文名?

????Organizational Unit Name (eg, section) []: ← 可以不輸入?

????Common Name (eg, YOUR name) []: ← 此時(shí)不輸入?

????Email Address []:admin@mycompany.com ← 電子郵箱,可隨意填

????Please enter the following ‘extra’ attributes?

????to be sent with your certificate request?

????A challenge password []: ← 可以不輸入?

????An optional company name []: ← 可以不輸入

????4.備份一份服務(wù)器密鑰文件

????cp server.key server.key.org

????5.去除文件口令

????openssl rsa -in server.key.org -out server.key

????6.生成證書文件server.crt

????openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

3、配置nginx

????最新的nginx,/etc/nginx.conf引入了/etc/nginx/sites-enabled下的默認(rèn)配置,我只是測試一下,所以直接修改默認(rèn)配置了

? ? cd /etc/nginx

? ? vim sites-enabled/default


未認(rèn)證nginx配置

cd ..

nginx -s reload


最后用瀏覽器直接訪問就可以了,想讓http自動跳轉(zhuǎn)到https在nginx加要給過濾就行,最后補(bǔ)上。


二、使用免費(fèi)認(rèn)證證書

首先準(zhǔn)備自己的域名假設(shè)是www.test.com

1、安裝certbot:

cd /opt

git clone https://github.com/certbot/certbot.git

2、解決./well-known/acme-challenge

使用webroot方式生成證書的時(shí)候,會自動在服務(wù)的根目錄下生成一個(gè)臨時(shí)文件然后訪問驗(yàn)證,所以在nginx先加入配置

cd /etc/nginx

vim /etc/nginx/sites-enabled/default


免費(fèi)認(rèn)證生成證書配置

在默認(rèn)配置的location前面加入這兩個(gè)過濾

nginx -s reload

3、生成證書文件

cd /opt/certbot

./certbot-auto certonly --email youremail@xxx.com --agree-tos --no-eff-email --webroot -w /var/www/html -d www.test.com

上面命令中,自行用你的郵箱替換youremail@xxx.com,你的域名替換www.test.com。命令后面可以繼續(xù)-d 域名,以配置多個(gè)域名。

期間會有問yes/no等的,y就行。生成成功后會告訴你生成的證書在 /etc/letsencrypt/live/www.test.com/下。

4、配置nginx

同樣直接修改默認(rèn)的配置文件,修改成如下


免費(fèi)認(rèn)證配置

涂白的地方就是www.test.com,也就是你的域名。上面我多加了一個(gè)80端口的server,就是用于過濾http直接跳轉(zhuǎn)到https用的。

nginx -s reload

最后用瀏覽器測試一下



參考:

搭建無認(rèn)證https https://www.cnblogs.com/jingxiaoniu/p/6745254.html

解決生成證書時(shí)訪問臨時(shí)文件而不得的問題 https://segmentfault.com/a/1190000005797776

還是letsencrypt時(shí)的用法 https://blog.csdn.net/rickiyeat/article/details/53783605

http跳轉(zhuǎn)到https的配置 https://www.cnblogs.com/kevingrace/p/6187072.html

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,593評論 19 139
  • 本文將介紹Linux環(huán)境下如何安裝Web服務(wù)基礎(chǔ)運(yùn)行環(huán)境,包括以下內(nèi)容: 安裝jdk安裝Tomcat安裝MySQL...
    daling菜鳥閱讀 3,027評論 0 9
  • 主要思路: 1. Docker Registry 說明 關(guān)于如何創(chuàng)建和使用本地倉庫,其實(shí)已經(jīng)有很多文章介紹了。因?yàn)?..
    威谷子閱讀 5,840評論 0 30
  • 再一次對現(xiàn)有的生活失去應(yīng)有的興趣,在我身上不是第一次發(fā)生,應(yīng)該也不是最后一次,自從離開了最初的生活之后,北京是第二...
    聞人閱讀 345評論 0 0
  • 嘟:爸爸,那個(gè)老奶奶很過分的! 我:哦?她做什么了? 嘟:她看到我們爬樹,就說哎呀,女孩子不能這樣的,要斯文什么的...
    kaiqin2016閱讀 306評論 0 0

友情鏈接更多精彩內(nèi)容