日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > Nginx >内容正文

Nginx

Nginx+SSL+Tomcat+CDN部署总结,已实践有效~

發(fā)布時(shí)間:2024/4/17 Nginx 55 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Nginx+SSL+Tomcat+CDN部署总结,已实践有效~ 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>

之前在度娘搜索資料,無意間看到一些個(gè)人站點(diǎn)的博客都用了https協(xié)議,在瀏覽器地址欄中被標(biāo)記為綠色的“安全”,前些天特地給自己負(fù)責(zé)的小項(xiàng)目升級(jí)成https協(xié)議,其優(yōu)點(diǎn)這里不再贅述,小伙伴們可以自行百度,今天把整合部署分享在這里,希望小伙伴們少走彎路~

效果如下:

軟件版本如下:

SystemCentos 6.5
NginxTengine/2.1.2 (nginx/1.6.2)
SSL證書Let's Encrypt 免費(fèi)SSL證書
TomcatApache-tomcat-8.0.47
CDNCloudflare.com

?

一、生成SSL證書

首先我們創(chuàng)建一個(gè)用來存放letsencrypt生成證書項(xiàng)目的路徑并進(jìn)入:

cd /usr/local/letsencrypt

接下來我們克隆letsencrypt項(xiàng)目:

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

開始生成SSL證書:

./letsencrypt-auto certonly --standalone --email test@qq.com -d www.test1.com -d www.test2.com --agree-tos

這里一定注意:

(1). 域名綁定在國內(nèi)DNS服務(wù)器無法生成,需要先將DNS服務(wù)器切換到DNS服務(wù)商,例如ClouldFlare、Godaddy、Dnsever后才能正常生成!
(2). web服務(wù)需要處于關(guān)閉狀態(tài),注意關(guān)閉nginx和80端口的占用!(不間斷服務(wù)方式生成可以自行百度)
(3). -d 代表domain 可以同時(shí)生成多個(gè)域名對(duì)應(yīng)證書,生成后我們可以在默認(rèn)目錄中看到:

/etc/letsencrypt/live/www.test.com/ cert.pem(用戶證書) chain.pem(中間證書) fullchain.pem(證書鏈) privkey.pem(證書私鑰)

最后我們生成Perfect Forward Security(PFS)鍵值,具體作用可以自行百度:

mkdir /etc/ssl/private/ -p cd /etc/ssl/private/ openssl dhparam 2048 -out dhparam.pem

?

二、Nginx配置SSL證書及Tomcat代理

#Tomcat 8080端口upstream tomcat_8080{server 127.0.0.1:8080 weight=1;}#將所有http協(xié)議內(nèi)容重定向到https協(xié)議server {listen 80;server_name www.test.com;rewrite ^ https://$server_name$request_uri? permanent;}#https協(xié)議server {listen 443;server_name www.test.com;# letsencrypt生成的文件ssl on;ssl_certificate /etc/letsencrypt/live/www.test.com/fullchain.pem;ssl_certificate_key /etc/letsencrypt/live/www.test.com/privkey.pem;ssl_session_timeout 1d;ssl_session_cache shared:SSL:50m;ssl_session_tickets on;ssl_dhparam /etc/ssl/private/dhparam.pem;ssl_protocols TLSv1 TLSv1.1 TLSv1.2;# 一般推薦使用的ssl_ciphers值: https://wiki.mozilla.org/Security/Server_Side_TLSssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128:AES256:AES:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK';ssl_prefer_server_ciphers on;# 代理tomcatlocation / { 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 Cookie $http_cookie;proxy_pass http://tomcat_8080;#proxy_redirect default;}access_log /home/wwwlogs/www.test.com_access.log;error_log /home/wwwlogs/www.test.com_error.log;}

?

三、Tomcat的SSL配置:

1. Connector節(jié)點(diǎn)將redirectPort="8443"修改為 redirectPort="443" proxyPort="443"最終為:

<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="443" proxyPort="443" />

2. 找到Engine節(jié)點(diǎn),在最后一個(gè)Host標(biāo)簽后加入:

<Host name="www.test.com" debug="0" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"><Valve className="org.apache.catalina.valves.RemoteIpValve"remoteIpHeader="x-forwarded-for"remoteIpProxiesHeader="x-forwarded-by"protocolHeader="x-forwarded-proto"/><Context docBase="/www/java/projectName" path="" crossContext="true" debug="3" privileged="true"? reloadable="false" deubt="true" /> </Host>

?

四、CloudFlare CDN設(shè)置(這里很重要)

我們將域名解析到自己服務(wù)器后,點(diǎn)擊Crypto選項(xiàng)卡,將SSL狀態(tài)修改為Full(strict)模式,在這種模式下會(huì)使用你服務(wù)器中的ssl證書,否則會(huì)導(dǎo)致頁面無限301跳轉(zhuǎn),導(dǎo)致chrome提示重定向次數(shù)過多,請(qǐng)求失敗!

?

五、參考文獻(xiàn):

1. Nginx+SSL整合 http://blog.csdn.net/sheng119/article/details/72956717
2. Tomcat+SSL整合 https://www.cnblogs.com/zhanghaoh/p/5293158.html
3. 解決CloudFlare CDN無限301重定向問題 答案在9樓?https://www.v2ex.com/t/188230#r_2026842

?

六、搜索引擎優(yōu)化建議:

如果是外網(wǎng)項(xiàng)目,建議到百度站長平臺(tái),全站HTTPS協(xié)議申請(qǐng),HTTPS協(xié)議也在排名算法之一。

?

以上為個(gè)人總結(jié),希望對(duì)大家有所幫助,如果有不對(duì)的地方大家可以指出,歡迎拍磚:)

轉(zhuǎn)載于:https://my.oschina.net/u/3156074/blog/1607588

總結(jié)

以上是生活随笔為你收集整理的Nginx+SSL+Tomcat+CDN部署总结,已实践有效~的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。