关于SpringBoot和Nginx部署SSL记录

184 阅读1分钟

首先,SpringBoot和Nginx只需要任意一个部署SSL即可。

参考文档: cloud.tencent.com/document/pr…

这里讲下配置Nginx:

worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    client_max_body_size 10m;

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    # gzip config
    gzip on;
    gzip_min_length 1k;
    gzip_comp_level 9;
    gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
    gzip_vary on;
    gzip_disable "MSIE [1-6]\.";

     # 将http转到https
     server {
            listen       80;
            server_name  你的域名; #填写绑定证书的域名
            rewrite ^ https://$http_host$request_uri? permanent;  
     }

    # HTTPS server
    #
    server {
        listen       443  ssl;
        server_name  你的域名;

        ssl_certificate      /usr/local/nginx/cert/bundle.crt;
        ssl_certificate_key  /usr/local/nginx/cert/com.key;
		
       #请按照以下协议配置
		ssl_protocols TLSv1.2 TLSv1.3; 
		
		#请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
		ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; 
		ssl_prefer_server_ciphers on;

		
		location / {
			root   html;
			index  index.html index.htm;
			if (!-e $request_filename) {
				rewrite ^(.*)$ /index.html?s=$1 last;
				break;
			}
		}
		
		location /prod-api/ {
			proxy_set_header Host $http_host;
			proxy_set_header X-Real-IP $remote_addr;
			proxy_set_header REMOTE-HOST $remote_addr;
			proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
			proxy_pass http://127.0.0.1:8080/blog/;
		}

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

访问地址:
https://你的域名/prod-api/blogpc/
http://你的域名/prod-api/blogpc/

微信小程序访问需要https,也需要经过nginx进行转发。