我这里使用的是阿里云的免费SSL证书,选择Symantec免费的那个即可。
然后需要绑定域名给SSL证书,否则证书不能审核。去阿里云注册一个域名,接着进入到域名控制台,再进入域名DNS解析。
添加解析记录,需要给SSL证书绑定怎样的域名就怎样添加记录。我这里添加了两条,一条对应www.xxx.com,一条对应xxx.com,我在SSL上绑定的是www.xxx.com。这里一定要先添加记录,再去审核SSL,否则SSL会找不到DNS解析审核失败!
接着去SSL控制台,开始补全信息然后提交审核。
把自动添加记录打上勾!
免费版的SSL是自动审核的,所以几分钟就可以通过了。之后便可以点进去下载Nginx的证书,一共是两个文件,*.key和*.pem。
先安装依赖
[root@izuf6a4o38c6o9qcshkw40z local]# yum install -y gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel
去下载一个nginx的tar包,我下的是1.12.2那个版本。然后用工具传到服务器。我放在/usr/local/里面。然后解压。
注意这里解压后的文件夹可以改名,但一定不要该名成nginx,因为后面编译安装会自己生成一个nginx文件夹。
[root@izuf6a4o38c6o9qcshkw40z local]# tar -xvf nginx-1.12.2.tar.gz
cd进入到nginx文件夹下的,配置SSL模块,编译,安装。
[root@izuf6a4o38c6o9qcshkw40z local]# cd nginx-1.12.2
[root@izuf6a4o38c6o9qcshkw40z nginx-1.12.2]# ./configure --with-http_ssl_module
[root@izuf6a4o38c6o9qcshkw40z nginx-1.12.2]# make
[root@izuf6a4o38c6o9qcshkw40z nginx-1.12.2]# make install
这个时候/usr/local/下面会生成一个nginx文件夹(以你自己的路径为主)。进入到它里面的sbin,使用./nginx便可以启动nginx。
[root@izuf6a4o38c6o9qcshkw40z sbin]# ./nginx
进入nginx文件夹下的conf文件夹,将之前申请的SSL证书的两个文件放入nginx/conf文件夹里面。修改nginx.conf文件,添加下面的配置。(nginx.conf文件预留了443端口的监听配置,也可以把它的注释去掉,直接修改。)
server {
listen 443 ssl;
server_name localhost;
ssl_certificate xxx.pem;
ssl_certificate_key xxx.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://localhost:8080/;
}
}
xxx.pem和xxx.key填写你自己的文件名。proxy_pass http://localhost:8080表示访问代理到tomcat或者其他容器的8080端口。nginx的location用法可以自行百度或Google。
然后使用./nginx -s reload重启nginx即可。
[root@izuf6a4o38c6o9qcshkw40z sbin]# ./nginx -s reload
如果报/usr/local/nginx/logs/nginx.pid 路径下找不到nginx.pid的错误,执行以下一句话即可。
[root@izuf6a4o38c6o9qcshkw40z sbin]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
本文参考资料:
https://my.oschina.net/u/3512877/blog/1593055
https://blog.csdn.net/solly793755670/article/details/70742011
如果有什么问题可以回复我!