摘要:網(wǎng)站是自己個(gè)人的網(wǎng)站,后臺(tái)用的服務(wù)器用的阿里云的操作系統(tǒng)是。證書證書用的阿里云的云盾證書因?yàn)樽约悍?wù)器就在阿里云,當(dāng)然最大的原因還是免費(fèi)。七牛云的圖片資源,改后請(qǐng)求不了。
文章地址
背景很早前就想著升級(jí)https,總覺得會(huì)很難自己想用nginx但是也沒用過不會(huì)弄就一直拖著,前兩天突然決定搞一下,沒想到一天多時(shí)間就搞完了,所以人還是要多嘗試,有這個(gè)想法還沒搞的人要趕快動(dòng)起來啦。這里記錄一下防止后面自己在搞還要去查資料。
網(wǎng)站是自己個(gè)人的網(wǎng)站,后臺(tái)用的 nodejs ,服務(wù)器用的阿里云的 ECS,操作系統(tǒng)是linux - centOS。
目的網(wǎng)上介紹好處的文章很多,我自己升級(jí)主要是為了幾個(gè)方面
ios 之前做網(wǎng)頁用到手機(jī)定位,以及現(xiàn)在用 react-native,很多時(shí)候都要 https才可以。
微信小程序很多地方也要求https。
最重要的一點(diǎn)。。看到自己網(wǎng)站前面有個(gè) 不安全 的標(biāo)志,感覺很不爽。
流程自己的站點(diǎn)比較簡(jiǎn)單,目前就想著這樣子做,因?yàn)楹竺婵赡茉谶@個(gè)站點(diǎn)上實(shí)驗(yàn)些其他的東西,有可能會(huì)用到 docker,選擇了用 nginx 來處理請(qǐng)求。
ssl證書sll證書用的阿里云的 云盾證書, 因?yàn)樽约悍?wù)器就在阿里云,當(dāng)然最大的原因還是免費(fèi)。操作還是簡(jiǎn)單的,進(jìn)去一通亂點(diǎn)找到免費(fèi)的那個(gè)購(gòu)買就行了。
服務(wù)器(centos)下載 nginx
編譯環(huán)境,已經(jīng)安裝的可以忽視
# 安裝make: yum -y install gcc automake autoconf libtool make # 安裝g++ yum install gcc gcc-c++
選擇安裝目錄,我選擇安裝在 /usr/local/src 下
cd /usr/local/src
安裝 pcre, zlib, 前者為了重寫rewrite,后者為了gzip壓縮。
注意下面wget的地址,可能你下載時(shí)候這個(gè)版本會(huì)沒有資源,你可以直接訪問那個(gè)地址進(jìn)去看看最新的資源版本號(hào)是多少,個(gè)人意見如果你和我一樣之前的版本都沒有用過的話,有最新穩(wěn)定版的就用最新的,這個(gè)后面會(huì)提到。
# 安裝 pcre cd /usr/local/src wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.40.tar.gz tar -zxvf pcre-8.40.tar.gz cd pcre-8.40 ./configure make make install # 安裝 zlib wget https://zlib.net/zlib-1.2.11.tar.gz tar -zxvf zlib-1.2.11.tar.gz cd zlib-1.2.11 ./configure make make install
安裝 ssl
wget https://www.openssl.org/source/openssl-1.0.1t.tar.gz tar -zxvf openssl-1.0.1t.tar.gz ./config make make install
安裝 nginx
wget https://nginx.org/download/nginx-1.13.0.tar.gz tar -zxvf nginx-1.13.0.tar.gz cd nginx-1.13.0 # 下面是把 Nginx 安裝到 /usr/local/nginx 目錄下,注意后面跟的是剛才安裝的pcre、zlib和ssl的源碼地址,根據(jù)自己安裝的調(diào)整 ./configure --sbin-path=/usr/local/nginx/nginx --conf-path=/usr/local/nginx/nginx.conf --pid-path=/usr/local/nginx/nginx.pid --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.40 --with-zlib=/usr/local/src/zlib-1.2.11 --with-openssl=/usr/local/src/openssl-1.0.1t make make install
啟動(dòng)
確保80端口沒有被占用,我之前node是在監(jiān)聽80端口的,現(xiàn)在把服務(wù)先停止。
# 查看端口情況 netstat -ano|grep 80 # 啟動(dòng)nginx sudo /usr/local/nginx/nginx
啟動(dòng)后再重新打開你的站點(diǎn),看到 Welcome to nginx! 界面就安裝好了。
配置ssl證書一般網(wǎng)上申請(qǐng)好證書,下載時(shí)候都會(huì)給你些配置提示,我這個(gè)阿里云的證書,下載時(shí)候就根據(jù)不同配置給了詳細(xì)的答案。把證書下載下來,放到nginx文件中,我這里放在了一個(gè)新建的 cert文件夾中,然后配置nginx文件下的 nginx.conf開啟 https .
# 配置前先備份總沒有錯(cuò) cp nginx.conf nginx.conf.back # 進(jìn)入配置文件后找到下面https的配置,有個(gè) `# HTTPS server`的注釋 server { listen 443; server_name 你的證書站點(diǎn); ssl on; root html; index index.html index.htm; ssl_certificate cert/你的證書; ssl_certificate_key cert/你的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; location / { root html; index index.html index.htm; } }
配置好之后重啟你的nginx, sudo /usr/local/nginx/nginx -s reload 然后用https 訪問你的站點(diǎn),如果可以看到歡迎界面就說明成功了,我這里被坑了一下,因?yàn)榉?wù)器默認(rèn)沒有開啟443端口的權(quán)限,我就一直訪問不了,后面去阿里的控制臺(tái)加了443端口權(quán)限就可以了。
全站https說白了就是訪問http的請(qǐng)求強(qiáng)行轉(zhuǎn)到https上,還是配置nginx,把上面監(jiān)聽80端口的server重定向到https
server { listen 80; server_name xxxx.com www.xxxx.com; rewrite ^ https://$http_host$request_uri? permanent; }
設(shè)置好后重啟nginx,再去訪問自己站點(diǎn)的http鏈接,應(yīng)該可以看到自動(dòng)跳轉(zhuǎn)到了https,這一步應(yīng)該問題不大,我這里遇到了一個(gè)奇怪的問題,訪問主站點(diǎn)時(shí)候居然重定向到了這個(gè)網(wǎng)站https://localhost,還以為配置不對(duì)搞了半天不知道哪里的問題,后面把我的chrome 的緩存啥的清理一遍居然自己好了。
反向代理到真正的服務(wù)這里主要就是把https的請(qǐng)求即監(jiān)聽433端口的那個(gè)server,代理到真正的處理后臺(tái)上。我這里把nodejs監(jiān)聽的端口挑到了8080,還是配置nginx,修改上面433端口server配置里面location /里面到內(nèi)容。
location / { # 代理用戶真實(shí)信息 proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-NginX-Proxy true; # 要代理的本地后臺(tái) 我的是8080端口 proxy_pass http://127.0.0.1:8080; # 這里是因?yàn)槲艺军c(diǎn)有websocket服務(wù),nginx (>= 1.3.13) 版本可以代理,所以說用盡量新的版本比較ok. proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; }
設(shè)置好之后重啟nginx,如果正常的話配置就差不多可以了。
第三方服務(wù)和一些問題因?yàn)槲业木W(wǎng)站還沒做多久,所以歷史問題還不嚴(yán)重,大概看一看就知道那些第三方鏈接不對(duì),現(xiàn)在基本上服務(wù)商都提供https的資源了,把不合格的資源換成https試一試,可以請(qǐng)求的話就去改代碼吧,這里遇到兩個(gè)問題。
七牛云 的圖片資源,改https 后請(qǐng)求不了。去七牛云搞了半天上傳了自己的證書什么的,還是不知道在哪里配置。索性自己網(wǎng)站用的圖片還少,憤怒的打算用自己站點(diǎn)之前做的文件上傳服務(wù)了,后面想想我自己1M的網(wǎng)速,還是忍住了。后面發(fā)現(xiàn)阿里云的 oss,可以用https請(qǐng)求,就把圖片資源換成阿里云的了。
自己的websocket 服務(wù)用的nodejs的socket.io庫(kù),還用到了根據(jù)用戶ip定位的功能,轉(zhuǎn)發(fā)后原來代碼里獲取到的ip地址全變成了127.0.0.1,還以為配置不對(duì)改了半天,后面打印出庫(kù)說明文件里獲取ip信息的client.handshake對(duì)象。發(fā)現(xiàn)用戶ip是headers的x-real-ip屬性,所以改代碼根據(jù)這個(gè)屬性獲取ip,然后可以正常獲取ip信息了。
到這里全站https基本都配置好了,因?yàn)樽约壕W(wǎng)站比較新,全站轉(zhuǎn)過來還挺輕松了,可以想象如果維護(hù)很久了都站點(diǎn)去轉(zhuǎn)肯定要遇見n多的問題。所以大家有這個(gè)想法的就早點(diǎn)動(dòng)手吧。
參考資料Nginx安裝
Centos下 Nginx安裝與配置
Node.js + Nginx - What now?
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/85193.html
摘要:網(wǎng)站是自己個(gè)人的網(wǎng)站,后臺(tái)用的服務(wù)器用的阿里云的操作系統(tǒng)是。證書證書用的阿里云的云盾證書因?yàn)樽约悍?wù)器就在阿里云,當(dāng)然最大的原因還是免費(fèi)。七牛云的圖片資源,改后請(qǐng)求不了。 文章地址 背景 很早前就想著升級(jí)https,總覺得會(huì)很難自己想用nginx但是也沒用過不會(huì)弄就一直拖著,前兩天突然決定搞一下,沒想到一天多時(shí)間就搞完了,所以人還是要多嘗試,有這個(gè)想法還沒搞的人要趕快動(dòng)起來啦。這里記錄...
摘要:今天分享的主題是阿里七層流量入口硬件加速探索之路。業(yè)務(wù)驅(qū)動(dòng)了技術(shù)創(chuàng)新,年接入層在硬件加速領(lǐng)域邁出了第一步。三監(jiān)控,對(duì)硬件加速相關(guān)的資源指標(biāo)進(jìn)行實(shí)時(shí)監(jiān)控和報(bào)警,防患于未然。硬件加速效果上線后我們獲得了一些加速效果的數(shù)據(jù)。 摘要: Tengine在軟件層面已經(jīng)有了深度的調(diào)試和優(yōu)化經(jīng)驗(yàn),但是在硬件層面,通用處理器(CPU)已經(jīng)進(jìn)入了摩爾定律,有了瓶頸。而在業(yè)務(wù)量突飛猛進(jìn)的當(dāng)下,如何利用硬件來...
摘要:更多資源請(qǐng)文章轉(zhuǎn)自月份前端資源分享視頻前端技術(shù)論壇融合不可錯(cuò)過的迷你庫(kù)測(cè)試框架實(shí)例教程為你詳細(xì)解讀請(qǐng)求頭的具體含意解析的庫(kù)如果要用前端框架,開發(fā)流程是怎樣的與有什么區(qū)別正確使用的方法是什么流程圖插件小如何讓元素只能輸入純文本前端技術(shù)中 更多資源請(qǐng)Star:https://github.com/maidishike... 文章轉(zhuǎn)自:https://github.com/jsfront...
摘要:摘要在剛剛結(jié)束的上海云棲大會(huì)飛天技術(shù)匯分論壇上,阿里云視頻云產(chǎn)品架構(gòu)師羅小飛進(jìn)行了阿里云面向金融政企的最佳實(shí)踐主題分享,為上海的嘉賓介紹的解決方案與技術(shù)服務(wù)體系。隨后,年阿里云宣布全面降價(jià),打破了行業(yè)原有的價(jià)格不透明一客一價(jià)的模式。 摘要:?在剛剛結(jié)束的上海云棲大會(huì)飛天技術(shù)匯分論壇上,阿里云視頻云產(chǎn)品架構(gòu)師羅小飛進(jìn)行了《阿里云CDN——面向金融政企的CDN最佳實(shí)踐》主題分享,為上海的嘉...
閱讀 3403·2021-11-24 09:38
閱讀 3189·2021-11-22 09:34
閱讀 2098·2021-09-22 16:03
閱讀 2349·2019-08-29 18:37
閱讀 371·2019-08-29 16:15
閱讀 1761·2019-08-26 13:56
閱讀 853·2019-08-26 12:21
閱讀 2198·2019-08-26 12:15