前段时间,阿里云提醒 SSL 证书快过期了,当时项目在忙,没时间处理。趁着周末,申请下 SSL 证书处理下该问题,特此记录下流程。
1.申请证书
SSL 证书是数字证书的一种,因为配置在服务器上,也称为 SSL 服务器证书。因为阿里云上可以直接申请证书,故直接在其上搜索申请。
申请步骤如下:
1.购买证书
选择相关产品,按需购买,本人选择是免费的一款。
2.证书申请
点击证书申请,填入相关信息,等待审批就可以使用啦
3.下载证书
下载证书放到服务器,开始进行下一步操作。
2.服务器配置
SSL 证书可以在 tomcat,nginx,apache 等等都可以进行配置。我这里使用的是 nginx。故记录的是 nginx 的配置过程。
一顿操作下,配置好后,发现 nginx 启动报错,原来,需要 nginx 开启 ssl 模块。😕
操作步骤:
进入之前的 nginx 目录
cd /home/nginx-1.16.0
配置 configure
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
make
make
不能执行 make install 会覆盖安装 ~
停止 nginx,并替换之前的 nginx
/usr/local/nginx/sbin/nginx -s stop
mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx_bak
cp /home/nginx-1.16.0/objs/nginx /usr/local/nginx/sbin/nginx
查看安装情况
/usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.16.0
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-23) (GCC)
built with OpenSSL 1.0.1e-fips 11 Feb 2013
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
3.配置 nginx
配置/usr/local/nginx/conf/nginx.conf 文件
配置信息如下:
upstream tomcatServer{
server localhost:8080;
}
server {
#http跳转到https
listen 80 ;
server_name www.lhlstudy.com;
rewrite ^/(.*)$ https://www.lhlstudy.com:443$1 permanent;
}
server {
#可以配置为http与https 同时存在的情况,这里配置为http强制跳转至https
#listen 80;
listen 443 ssl;
server_name www.lhlstudy.com ;
ssl_certificate cert/study.pem;
ssl_certificate_key cert/study.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 / {
proxy_redirect off;
#可以配置至页面静态地址,由于这里是tomcat启动,配置tomcat访问代理
proxy_pass http://tomcatServer;
# proxy_set_header Host $host;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
检测配置文件是否正确
/usr/local/nginx/sbin/nginx -t
重启 nginx
/usr/local/nginx/sbin/nginx -s reload
4.打开页面检测
打开主页发现页面格式错乱,通过控制台发现页面资源文件还是指向 http,才想起 solo 的博客需要在 latke.properties 配置文件中修改 serverScheme=https。设置后,重启服务。解决问题!
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于