Http協議Netty專案,呼叫Https協議passport(本地除錯)
阿新 • • 發佈:2021-07-29
一.問題:
1.專案僅支援http協議,且不可新增支援https協議
2.登陸呼叫公司統一passport介面,為https協議
3.本地啟動後,http協議訪問專案,調passport造成跨域問題
二.解決辦法:
https訪問專案,使用nginx將https協議轉成http協議,同時解決協議支援和跨域問題
1.Windows安裝使用Openssl
https://slproweb.com/products/Win32OpenSSL.html
最後一步取消所有√再點完成
證書生成:
使用openssl生成金鑰privkey.pem:
openssl genrsa -out privkey.pem 1024
使用金鑰生成證書server.pem:
openssl req -new -x509 -key privkey.pem -out server.pem -days 365
Common Name (e.g. server FQDN or YOUR name) []:
設定成本地hosts配置的域名
2.nginx安裝
http://nginx.org/download/nginx-1.14.0.zip
配置nginx.conf
http { include mime.types; default_type application/octet-stream; server { listen 80; server_name it.accumulation.com; location / { proxy_pass http://localhost:8088; } } server { listen 443 ssl; # 域名,實際情況下時,將這個改成域名 https://xx.cn server_name it.accumulation.com; ssl on; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照這個協議配置 ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照這個套件配置 # 證書位置 ssl_certificate D:\sslkey\server.pem;#配我們生成的 nginx-1.14.0/https/xx.cn/server.pem; ssl_certificate_key D:\sslkey\privkey.pem;#配我們生成的 nginx-1.14.0/https/xx.cn/privkey.pem; location / { proxy_pass http://it.accumulation.com;#這裡的xx.cn 是我們需要轉發的 ,配合 修改hosts檔案 : 127.0.0.1 xx.cn } } include servers/*; }