图解!!!Nginx 部署SSL证书 以及一台服务器不同域名指向相同端口
- 首先需要在自己的服务器先部署好自己的服务以及前端页面-> 以SpringBoot项目为例.
- 在自己的服务器部署好Nginx -> 部署Nginx代理.
在阿里云或者华为云购买申请SSL证书
阿里云有免费的可以申请使用
证书申请步骤
1.创建证书
2.申请证书
3.然后填写自己需要申请证书的域名
3.验证然后提交审核 一般15-20分钟会通过
4.申请成功后点击下载
5.下载Nginx版本
6.下载后解压压缩包就会出现以下两个文件到时候放到服务器上
到这里SSL证书就算申请成功了 接下来是部署
SSL证书部署到服务器
1.我们使用XFTP把SSL证书放到 服务器Nginx安装的目录下 一般在usr/local/nginx
这里需要注意的是在安装nginx的时候有没有下载SSL证书的插件如果没有需要用命令先安装
== 我这里是配置了两SSL证书 所以有四个文件 ==
2.然后打开nginx的conf配置文件
worker_processes 1;
worker_rlimit_nofile 65535;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 443; //这里是SSL证书的端口 固定443
server_name XXXX.XXXX.com; //这里你申请证书的域名
ssl on;
root /usr/local/nginx/html/dist; //这里是你前端文件所放的路径
try_files $uri $uri/ /index.html last; //这是为了刷新后保持原页面
ssl_certificate /usr/local/nginx/conf/5701234_sbgl.csavs.com.pem; //证书pem文件的绝对路径
ssl_certificate_key /usr/local/nginx/conf/5701234_sbgl.csavs.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;
ssl_prefer_server_ciphers on;
location / {
root /usr/local/nginx/html/dist; //这里是你前端文件所放的路径
try_files $uri $uri/ /index.html last; //这是为了刷新后保持原页面
}
location /prod-api/ { // (/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://xx.xxx.xxx.xxx:8080/; //服务器 启动的服务的端口
}
}
server {
listen 80;
server_name sbgl.csavs.com;
rewrite ^(.*)$ https://$host$1 permanent;
}
//如果只需要配置一个证书就只用写一个 如有多个像上面一样再配置一个
}