国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Nginx部署HTTPS服務過程與異常處理實踐

lavor / 3598人閱讀

摘要:當點擊檢查配置之后,如果阿里云能夠正常訪問,則會在左側(cè)給出提示,現(xiàn)在可以返回證書列表,在列表中可以看到當前狀態(tài)為審核中,如下圖審核因為不需要人為干預,所以很快就能下發(fā)證書,筆者下發(fā)證書的時間大約是分鐘左右。

一、背景

筆者所在團隊需要開發(fā)ios的APP,而apptstore應用商店審核需要應用使用https,所以需要配置https證書,筆者將此次配置的過程與遇到的一些問題記錄下來,方便自己和讀者后續(xù)參考。

二、操作概要

申請證書與認證

證書下載與配置

問題分析與總結(jié)

三、申請證書與認證

要搭建https服務首先需有SSL證書,證書通常是在第三方申請,在阿里云的安全服務中有SSL證書這一項,可以在里面申請免費的證書;

也可以在自己電腦中生成,雖然也能完成加密,但是瀏覽器是不認可的,因此最好還是去第三方申請
3.1 證書申請

阿里云提供免費的證書,不需要人工審核,用來做測試是非常不錯的選擇,申請地址如下URL。

https://common-buy.aliyun.com/?spm=5176.2020520163.cas.1.1aa12b7aWWn20O&commodityCode=cas#/buy

免費型的證書隱藏的比較深,想要申請免費證書需要先選擇 1個域名->Symantec->免費型 ,所以讀者這里需要注意一下,如下圖參考。

選擇之后,一直惦記下一步,便可購買完成,免費購買證書之后筆者需要回到證書控制臺,在控制臺有一個補全信息的鏈接地址,需要通過此地址補充申請人的聯(lián)系信息,參考下圖填寫

3.2 域名驗證

補全個人信息之后,筆者還需要給阿里云驗證當前域名是屬于本人的,驗證方式有兩種,第一種是通過dns解析認證,第二種是通過上傳驗證文件認證,筆者這里采用的是驗證文件認證,首先需要下載文件,如下圖

在下載驗證文件完成之后,筆者需要把文件放到服務器中去,這里提供一條復制命令

scp ~/Downloads/fileauth.txt  tangqingsong@192.168.43.34:~/

將驗證文件復制到服務器之后,筆者還需要將驗證文件放到站點對應目錄,參考命令如下:

mkdir -p /website/.well-known/pki-validation  &&  cp  fileauth.txt  /website/.well-known/pki-validation/

現(xiàn)在筆者要驗證文件放置的位置是否正確,筆者通過兩種方式進行了驗證,分別是手動驗證,和阿里云驗證。

3.2.1 手動驗證

手動驗證的目的是首先確保文件位置放置是否正確,可以通過訪問站點的url是否成功進行判斷,比如筆者可以訪問如下URL,如果返回如果頁面能夠正常打開,并且可以看到某些值,則代表配置成功。

http://www.songboy.net/.well-known/pki-validation/fileauth.txt
3.2.2 通過阿里云來驗證

在確保文件放置正確之后,關(guān)鍵的是能讓阿里云能訪問到,阿里云這里提供了一個檢查配置的功能,在下載驗證文件頁面,有一個檢測配置的鏈接,單擊之后便可進行檢查,如下圖。

當點擊 檢查配置 之后,如果阿里云能夠正常訪問,則會在左側(cè)給出提示,現(xiàn)在可以返回證書列表,在列表中可以看到當前狀態(tài)為審核中,如下圖

審核因為不需要人為干預,所以很快就能下發(fā)證書,筆者下發(fā)證書的時間大約是2分鐘左右。

四 證書下載與配置 4.1 證書下載

證書簽發(fā)之后,可以在列表中可以看到狀態(tài)欄中為 已簽發(fā) ,同時操作欄可以下載以及查看詳情等,如下圖所示

點擊下載后,會跳轉(zhuǎn)到下載詳情頁面,在下載詳情頁可以選擇自己相對應的web服務,比如筆者使用nginx,當選擇nginx之后,下方還會很貼心的提示如何配置,現(xiàn)在筆者下載nginx配置文件。

下載配置文件之后,筆者需要將其解壓,解壓之后可以看見里面包含了兩個證書文件,如下圖所示

接著需要把這兩個證書文件給復制到服務器當中去,首先需要在服務器創(chuàng)建對應的文件夾,參考命令如下

cd  /usr/local/nginx/conf/  &&  mkdir cert    #此命令在服務器執(zhí)行

在服務器創(chuàng)建完成對應文件夾之后,執(zhí)行命令將證書文件復制到服務器中,參考命令如下:

scp ~/Downloads/214905423420461/*  tangqingsong@192.168.43.34:/usr/local/nginx/conf/cert
4.2 證書配置

證書復制完成之后,可以對nginx配置文件進行更改,使用vim命令編輯nginx配置文件,參考命令如下:

vim /usr/local/nginx/conf/nginx.conf

在vim界面把之前http的配置部分復制一份,復制之后修改監(jiān)聽的端口(listen)為443,并在其后面添加ssl的信息,參考配置如下:

    listen 443;
    ssl on;
    ssl_certificate   cert/214905423420461.pem;
    ssl_certificate_key  cert/214905423420461.key;
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
4.3 重啟Nginx

修改配置文件之后,筆者需要測試nginx配置文件是否正確,參考命令如下:

nginx -t 

當nginx如果沒有出現(xiàn)error相關(guān)信息,基本配置沒有問題,下面是我的nginx返回結(jié)果:

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

nginx配置沒有問題之后,筆者需要重啟nginx讓其生效,參考命令如下

nginx -s reload
4.4 檢驗效果

現(xiàn)在所有該做的工作都做好了,筆者可以通過瀏覽器來訪問可以正常訪問,打開如下URL。

https://www.xxx.com

瀏覽器地址欄顯示如下圖所示

如果看到瀏覽器,展示安全,并且顯示綠色就說明大功告成了

五、問題分析與總結(jié)

到這里,雖然已經(jīng)成功部署了https,但是依然會產(chǎn)生很多附帶的問題,下面是筆者后續(xù)所遇到的幾個問題,以及解決方案。

5.1 重定向405錯誤

在部署https后,筆者很急切讓http全部重定向到https上來,這個時候可能會在nginx的配置文件中加入下面的代碼

return      301 https://$server_name$request_uri;

這段代碼實際上是有缺陷的,他只能幫你重定向get請求,如果客戶端是以post請求,經(jīng)過301重定向后會變成get請求,最終導致服務器返回405的問題;

除了405問題以外,還有一個隱患,301重定向是永久重定向,在部署https的時候容易出現(xiàn)坑,如果使用了永久重定向,服務器出現(xiàn)問題需要回滾的情況下,即使服務器回滾了,瀏覽器依然會跳轉(zhuǎn)到https,因為有重定向緩存,所以不建議使用301重定向,而應該使用302;但是302也不好去處理post請求,所以還是用307把,配置代碼如下:

return      307 https://$server_name$request_uri;
5.2 跨域問題

啟用https證書后,會發(fā)現(xiàn)很多瀏覽器會存在跨域的問題,下面附帶兩種解決方法。

5.2.1 自適應協(xié)議

在http域下加載https資源瀏覽器是允許的,但是https加載http的資源,瀏覽器會阻止,所以在前端頁面中的地址最好不要指定協(xié)議,可以吧"http://"或者"https://" 使用自適應協(xié)議來替換 "http://",這樣瀏覽器將會自動調(diào)用對應域的資源,而不會出現(xiàn)https站點不能加載http資源問題,而https請求http卻出現(xiàn)跨域問題。

5.2.2 作用域設置

http和https并不在同一個作用域,所以當一些ajax請求時,會出現(xiàn)跨域問題,這個時候可以修改nginx配置文件,將其資源的作用域擴大,把以下代碼放到http的配置項如下:

需要注意,如果讓網(wǎng)站的資源讓任意作用域都可以調(diào)用,那么會存在一個安全隱患,所以最好是指定幾個作用域,而不要全部放開。
    add_header "Access-Control-Allow-Origin" "*";
    add_header "Access-Control-Allow-Credentials" "true";
    add_header "Access-Control-Allow-Headers" "Origin, X-Requested-With, Content-Type, Accept, Connection, User-Agent, Cookie,Content-Type, Authorization";
    add_header "Access-Control-Allow-Methods" "PUT,POST,GET,DELETE,OPTIONS";
5.3 同時支持,分批上線

在部署https證書的時候,會遇到很多小問題,一開始筆者打算將其一步到位,后來發(fā)現(xiàn)小問題不斷,比如前面的跨域問題,以及301重定向問題;

這些問題看似不大,但是小問題卻比較多,因此我建議大家在上線https的時候,最好分批上線,滿足當前需求即可,不要一下子把所有http都切換過來需要注意https加載http資源被阻止的問題。


作者: 湯青松

微信:songboy8888

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/40074.html

相關(guān)文章

  • Nginx部署HTTPS服務過程異常處理實踐

    摘要:當點擊檢查配置之后,如果阿里云能夠正常訪問,則會在左側(cè)給出提示,現(xiàn)在可以返回證書列表,在列表中可以看到當前狀態(tài)為審核中,如下圖審核因為不需要人為干預,所以很快就能下發(fā)證書,筆者下發(fā)證書的時間大約是分鐘左右。 一、背景 筆者所在團隊需要開發(fā)ios的APP,而apptstore應用商店審核需要應用使用https,所以需要配置https證書,筆者將此次配置的過程與遇到的一些問題記錄下來,方便...

    Scliang 評論0 收藏0
  • Nginx

    摘要:此外,其也能夠提供強大的反向代理功能。是由為俄羅斯訪問量第二的站點開發(fā)的,第一個公開版本發(fā)布于年月日。 keepalived+nginx 實現(xiàn)高可用雙機熱備 + 負載均衡架構(gòu) 1 準備4個ubuntu16.04虛擬機(啟用網(wǎng)卡二并使用橋接模式):A服務器:192.168.0.103 主B服務器:192.168.0.104 主(備) 前端工程師學習 Nginx ...

    syoya 評論0 收藏0
  • LC3視角:Kubernetes下日志采集、存儲處理技術(shù)實踐

    摘要:下需要為每個單獨進行采集配置采集日志目錄,采集規(guī)則,存儲目標等,不易維護。日志服務的日志架構(gòu)實踐我們提出基于阿里云日志服務的日志處理架構(gòu),用以補充社區(qū)的方案,來嘗試解決場景下日志處理的一些細節(jié)體驗問題。 摘要: 在Kubernetes服務化、日志處理實時化以及日志集中式存儲趨勢下,Kubernetes日志處理上也遇到的新挑戰(zhàn),包括:容器動態(tài)采集、大流量性能瓶頸、日志路由管理等問題。本文...

    Guakin_Huang 評論0 收藏0
  • React 實踐項目 (五)Docker Nginx 部署 React

    摘要:在上已經(jīng)有接近的數(shù)了,是目前最熱門的前端框架。將整個應用打包發(fā)布,自動試用進行壓縮與優(yōu)化。毫無疑問,這些重擔都將壓在企業(yè)開發(fā)人員身上團隊之間如何高效協(xié)調(diào),快速交付產(chǎn)品,快速部署應用,以及滿足企業(yè)業(yè)務需求,是開發(fā)人員亟需解決的問題。 React在Github上已經(jīng)有接近70000的 star 數(shù)了,是目前最熱門的前端框架。而我學習React也有一段時間了,現(xiàn)在就開始用 React+Red...

    EscapedDog 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<