下载阿里云服务器的SSL证书,并部署到Nginx服务中
环境说明
linux系统版本:lsb_release -a
JDK版本: 1.8
不同的操作系统以及软件版本,可能会遇到不一样的问题,一定要注意版本问题。
.1.登录阿里云服务器,下载SSL证书。
选择SSL证书->免费证书->下载。
选择Nginx证书进行下载,因为真实访问的时候,都是访问nginx服务器。
下载下来之后,会有两个文件,可以解压之后上传到服务器,也可以直接上传压缩包到服务器。
如图所示
解压
.2.配置nginx.conf文件。
不知道如何配置的,可以先去nginx官网下载一个原始nginx安装包文件。
把http的代码全部注释掉,不要删除,说不定之后配置还可以参考。
打开https的配置,简单配置如下
# HTTPS server
server {
# 端口一般为443,不用动
listen 443 ssl;
#域名配置
server_name www.yilangcode.xyz;
# 证书的位置,现在自己配置的证书和nginx.conf在同一个目录下,可以这么进行配置,名称需要改一下
ssl_certificate /etc/nginx/yilangcode.xyz.pem;
ssl_certificate_key /etc/nginx/yilangcode.xyz.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
# ssl_ciphers HIGH:!aNULL:!MD5;
# ssl_prefer_server_ciphers on;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
}
使用docker 启动nginx,命令如下
docker run --name nginx -p 443:443 \
-v /opt/u01/exam/nginx/html:/usr/share/nginx/html \
-v /opt/u01/exam/nginx/log:/var/log/nginx \
-v /opt/u01/exam/nginx/nginx.conf:/etc/nginx/nginx.conf \
-v /opt/u01/exam/nginx/yilangcode.xyz.key:/etc/nginx/yilangcode.xyz.key \
-v /opt/u01/exam/nginx/yilangcode.xyz.pem:/etc/nginx/yilangcode.xyz.pem \
-d 7f0fd59e0094
注意: (1)宿主机的端口是443。
(2)需要将SSL证书的两个文件挂载到nginx容器中。
使用docker启动nginx可以参考自己之前写的这篇博客
https://www.cnblogs.com/yilangcode/p/18092237
.3.登录阿里云服务器,打开443访问端口。
控制台-->我的资源-->点击(实例)进入-->安全组-->安全组详情-->手动添加(入站规则) ,如下图所示
.4.访问测试,未生效。
.5.问题排查。
经过自己仔细分析,发现nginx容器在启动的时候端口为80,而在nginx.conf配置文件中配置的端口为443,
因此删除已经启动的容器,修改一下启动命令 -p443:443 端口即可。
重新启动服务
再次访问测试,访问成功。
有其他好的建议的小伙伴,欢迎留言讨论。