java -jar启动的springboot项目如何使用http

2020-06-11  本文已影响0人  皆非的万事屋

       这里以微信小程序为例。我们都知道微信小程序在做请求的时候是只支持https协议的,所以你后端项目不能直接再使用http+公网ip访问了,而是https+域名进行访问。
       首先是部署在服务端的tomcat,可以安装SSL证书,你再把项目打包成war,进行部署,就可以通过https进行访问了。
       但是springboot写的项目多以jar方式打包,是内嵌的tomcat,那么该如何通过https访问呢?

Nginx反向代理

       Nginx是可以安装SSL证书的,我们可以使外请求为https协议,反向带理的请求可以为http协议去访问springboot项目,这样从外部整体上看是用了https协议访问了项目。

server {
    listen 8080;
    listen [::]:8080 ssl ipv6only=on;
    server_name www.xxxxx.com;
    ssl on;
    ssl_certificate /etc/nginx/cert/1_www.xxxxx.com_bundle.crt;   #crt路径
    ssl_certificate_key /etc/nginx/cert/2_www.xxxxx.com.key;    #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;   #修改protocols。
    ssl_prefer_server_ciphers on;   
    #禁止在header中出现服务器版本,防止黑客利用版本漏洞攻击
    #server_tokens off;
    #如果是全站 HTTPS 并且不考虑 HTTP 的话,
    #可以加入 HSTS 告诉你的浏览器本网站全站加密,并且强制用 HTTPS 访问
    #fastcgi_param   HTTPS               on;
    #fastcgi_param   HTTP_SCHEME         https;

    location / {
        proxy_pass http://www.xxxxx.com/;
    }
}

       这个就是我单独配置的,端口看你的需求设置,这个在微信小程序上是通过的(检验合法域名)。
       注意:Ubuntu系统下的nginx配置在 /etc/nginx/sites-enabled里以多个conf文件进行加载。

上一篇 下一篇

猜你喜欢

热点阅读