springboot nginx一个ip配置多个https域名

最近在做微信小游戏,需要用https的域名。但是我只有一台服务器。

下面是过程:

1.腾讯云上申请免费的ssl证书

2.登陆查看nginx是否支持TLS协议的SNI扩展(同一个IP上可以支持多个不同证书的域名),如果不支持就自行百度重新安装。

nginx -V
nginx version: nginx/1.14.0
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-28) (GCC) 
built with OpenSSL 1.0.2o  27 Mar 2018
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx --user=www --group=www --with-http_stub_status_module --with-http_v2_module --with-http_ssl_module --with-http_gzip_static_module --with-http_realip_module --with-http_flv_module --with-http_mp4_module --with-openssl=../openssl-1.0.2o --with-pcre=../pcre-8.42 --with-pcre-jit --with-ld-opt=-ljemalloc

可以看到TLS SNI support enabled,说明已经支持

3.配置nginx.conf

vim /usr/local/nginx/conf/nginx.conf
server {
    listen       443;
    server_name  xx.com;
    ssl on;
    #配置证书的路径
    ssl_certificate      /usr/local/nginx/conf/ssl/xx.com.crt;
    ssl_certificate_key  /usr/local/nginx/conf/ssl/xx.com.key;
    #ssl_session_cache    shared:SSL:1m;
    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 / {
         #配置转发到8090端口
        proxy_pass http://127.0.0.0:8090;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-Port $server_port;
    }
}

把下载的证书配置一下,修改映射。

/usr/local/nginx/sbin/nginx -t

查看配置是否ok,正确的service nginx reload重启nginx服务。

springboot项目打包:

cd到项目根目录

mvn clean
mvn install

打包后jar在target文件夹下面

java -jar xxxx.jar

运行就ok

猜你喜欢

转载自blog.csdn.net/skillart/article/details/86565573
今日推荐