這里有3點:
1.部署上線和線下的參數(shù)不一樣,所以部署上線的時候配置文件搞了多狀態(tài),
增加文件
application-dev.properties
application-prod.properties
dev的和prod的。
則需要在配置文件application.properties中增加一行。
spring.profiles.active=dev
這樣默認啟動,先讀取application.properties
發(fā)現(xiàn)spring.profiles.active=dev
那么會用dev中的文件覆蓋application.properties中存在的屬性。
啟動的時候也可以強制指定文件。
java -jar xxx.jar --spring.profiles.active=prod
這樣就相當于把application.properties中的屬性spring.profiles.active改為prod
2.搞https
首先你要有個域名,申請域名的地方可以生成證書。關(guān)于證書這個東西,對我透明的,有人提供了證書,我直接使用的。
給了證書,將證書 .pfx后綴的文件放到工程目錄下

然后在這里添加這三個屬性,意味著監(jiān)聽到端口,然后提供了ssl的服務,即https

值一樣
server.ssl.key-store=123.pfx
server.ssl.key-store-password=123
再啟動服務的時候,就會發(fā)現(xiàn)http服務會提示不可用

如果使用https

其實這個時候https已經(jīng)正確了。
報錯的原因是因為證書和域名是強綁定的,所以提示上說了,此證書只對 打馬賽克的部分 有效
打馬賽克的就是域名 ,設(shè)為A
那么在hosts 文件中強制IP,域名映射。
127.0.0.1 A
然后就不會提示不安全的證書了??梢哉J褂昧?。
3.搞到nginx服務器上
server {
listen 443;
server_name a.com;
ssl on;
ssl_certificate cert/123.pem;
ssl_certificate_key cert/123.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 / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_pass https://127.0.0.1:8445/;
proxy_redirect off;
}
}
在nginx上面的 nginx.conf文件中添加,這樣意味著443的監(jiān)聽a.com域名,會轉(zhuǎn)到本機的服務127.0.0.1:8445上。
其中
ssl_certificate cert/123.pem;
ssl_certificate_key cert/123.key;
是將剛才的證書的內(nèi)容放在nginx/cert 下
最后一定要重啟下nginx,不然不生效哦。