今天有小伙伴求助了一个问题 他的项目是springboot前后端不分离的 并且没有开发环境 只有生产环境 服务器jar包用的是999端口并且没有用nginx 也就是现在访问这个项目页面需要访问 域名:999可以访问到 现在他想要给这个项目添加一个ssl证书 因为本地项目跑不起来 所以用了nginx代理的方式来完成这个需求
第一步 Linux服务器配置ssl证书:
这个网上教程很多 详细教程大家可以去搜下 这里简单写一下 在linux服务器终端运行命令
1.添加EPEL存储库
sudo yum install epel-release
2.在CentOS系统,使用包管理器yum来安装Certbot
sudo yum install certbot
3.Let's Encrypt SSL证书申请
sudo certbot certonly --standalone -d baidu.com --cert-name baidu.com --config-dir /usr/local/nginx/ssl
把baidu.com替换成你的域名 成功了之后会让你填邮箱地址 然后Y下一步
第二步 通过nginx将999端口的项目代理到998端口访问,并引入证书文件
server {
listen 998 ssl;
server_name baidu.com;
ssl_certificate /usr/local/nginx/ssl/live/baidu.com/fullchain.pem;
ssl_certificate_key /usr/local/nginx/ssl/live/baidu.com/privkey.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers 'TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384';
ssl_prefer_server_ciphers off;
ssl_session_timeout 10m;
ssl_session_cache shared:SSL:10m;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;
location / {
proxy_pass http://127.0.0.1:999;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
将baidu.com替换成你的域名
listen 998 ssl 998是可以用https访问的端口号 请根据您的项目自行修改
127.0.0.1:999 999是你现在项目的端口号 也就是你在修改nginx配置之前可以访问项目的端口号
以上是linux通过nginx重定向springboot前后端不分离项目配置ssl证书的过程 适用于只有生产环境没有开发环境的项目 比较冷门 如果大家用到了请留个小赞 谢谢