获取证书
以腾讯云为例,解析好域名后,前往证书申请页ssl证书申请,因为我的域名也是在腾讯云,所以点击申请后,可以配置自动DNS验证,如果域名不在腾讯云则需要去域名商添加解析,具体看文档指引。
申请完后等待审核即可,免费证书有效期为一年,一年后重新申请再替换文件就行,所以也是OK的。
配置动态端口转发
下载证书并上传到服务器
审核通过后会有邮件提示,前往证书列表页,下载对应的证书。
是一个压缩包。里面有好几种服务器类型,我们选Nginx的,将里面两个文件上传到服务器上任意位置即可,我这里上传的是Nginx的conf文件夹下/usr/local/nginx/conf/cert,这样在配置的时候可以使用相对路径。
配置Nginx
我这里配置是用于小程序的后端API,服务器是使用Nginx + Springboot内置tomcat,假如springboot端口为8080,则在nginx的配置文件/usr/local/nginx/conf/nginx.conf中添加如下配置server {
listen 443;
#填写绑定证书的域名
server_name 域名;
ssl on;
location / {
#填写域名转发的端口
proxy_pass http://localhost:8080;
proxy_set_header Host $host;
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;
}
#填写两个证书的位置
ssl_certificate cert/xxx.com_bundle.crt;
ssl_certificate_key cert/xxx.com.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;
}
你在配置的时候只需要修改上面配置中的域名、端口、ssl两个证书的位置这三处就行。修改完成后,执行/usr/local/nginx/sbin/nginx -t检查配置是否有问题,没问题则执行/usr/local/nginx/sbin/nginx -s reload重启Nginx即可。
开启HTTP请求转发到HTTPS请求
例如访问http://www.baidu.com会自动跳转到https://ww.baidu.com的功能。
只需要添加如下配置:server {
listen 80;
#填写绑定证书的域名
server_name 域名;
rewrite ^(.*)$ https://$host$1 permanent;
}
添加完后重启Nginx,尝试访问http请求,看看地址栏能否正确转发到https,一般都OJBK
配置静态转发
当不转发端口,想用域名访问纯静态的网站,可以进行如下配置。server {
#SSL 访问端口号为 443
listen 443;
#填写绑定证书的域名
server_name www.domain.com;
#启用 SSL 功能
ssl on;
#证书文件名称
ssl_certificate 1_www.domain.com_bundle.crt;
#私钥文件名称
ssl_certificate_key 2_www.domain.com.key;
ssl_session_timeout 5m;
#请按照以下协议配置
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
#请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
location / {
#网站主页路径。此路径仅供参考,具体请您按照实际目录操作。
root /var/www/www.domain.com;
index index.html index.htm;
}
}
这样访问域名可以直接访问文件夹下的文件。
本文由 visionki 创作,采用 知识共享署名4.0 国际许可协议进行许可
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
最后编辑时间为: Mar 17, 2021 at 04:01 pm