分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > IT知识

网站由Http切换至Https-来点啤酒

发布时间:2023-09-06 02:07责任编辑:郭大石关键词:暂无标签

申请证书

我们这里以freessl为例;这个网站有免费的证书;商业性质网站推荐使用付费的证书;

这里可以按需要选择;如果你解析了很多的子域名;如a.domain.com,b.domian.com;推荐使用Let‘s Encrypt V2 支持通配符;*.domain.com

这里填入邮箱;因为证书有效期原因;在证书即将到期时;你可能会收到证书提供者的提醒邮件,这里确认创建以后;会得到一个私钥的压缩包。

这一步要开始验证域名,证书提供者需要验证你是不是域名的所有者,这时你需要登陆到你的域名控制台,如腾讯云,阿里云的控制台,添加两条txt记录,

把上图的要求添加的记录值在你的控制台一次添加;稍等几分钟,然后点击验证,等待验证完成。

这时候你可以点击下载证书了,这个压缩包包含一个私钥和pem格式证书

#1、PEM 格式的证书文件适合哪些服务器?#Nginx、Apache、Candy Server#2、CRT 格式的证书文件怎么获得?#直接将 .pem 后缀改为 .crt 就可以#3、JKS 格式的证书文件怎么获得?#JAVA 专属格式,可用于 HIS、jboss、Jetty,需要通过转换获得:#https://myssl.com/cert_convert.html#4、PFX/P12 格式的证书文件怎么获得?#PKCS12 格式证书,可用于 IIS6、IIS7、IIS8、xchange、代码签名,需要通过转换获得:#https://myssl.com/cert_convert.html#或者通过 OpenSSL 自助转换:#openssl pkcs12 -export -in certificate.crt -inkey privateKey.key -out certificate.pfx

上传证书到服务

这一步就大家随意;用ftp;sftp等等

你的服务器或者说容器运行用户需要对该目录有访问权限

setfacl -R -m user:tomcat:rwx 证书目录

修改服务器配置

我这里已nginx服务器为例,nginx支持pem格式;但网上很多使用crt格式;关于格式如何转换上文中已经提到过了。

 ???server { ???????listen 80; ???????listen 443 ssl; ???????server_name 证书申请域名; ???????ssl_certificate /证书根目录/full_chain.crt; ???????ssl_certificate_key /证书根目录/private.key; ???????location / { ???????????????proxy_pass http://server/; ???????????????client_max_body_size 50m; ???????????????proxy_set_header Host $host; ???????????????proxy_set_header X-Real-IP $remote_addr; ???????????????proxy_set_header X-Real-PORT $remote_port; ???????????????proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; ???????} ???}

然而用户很多时候只会输入域名;不会输入协议头;此时用户等于访问不到https地址;这时我们需要做如下调整

 ???server { ???????listen 80; ???????server_name 证书申请域名; ???????rewrite ^(.*) https://$server_name$1 permanent; ???} ???server {# ??????listen 80; ???????listen 443 ssl; ???????server_name 证书申请域名; ???????ssl_certificate /证书根路径/full_chain.crt; ???????ssl_certificate_key /证书根路径/private.key; ???????location / { ???????????????proxy_pass http://server/; ???????????????client_max_body_size 50m; ???????????????proxy_set_header Host $host; ???????????????proxy_set_header X-Real-IP $remote_addr; ???????????????proxy_set_header X-Real-PORT $remote_port; ???????????????proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; ???????} ???}

如此配置后;我们重启服务;

service nginx force-reload

此时你再访问;仅需输入域名;将会自动跳转到https服务上去

网站由Http切换至Https-来点啤酒

原文地址:https://www.cnblogs.com/dev-lluo/p/10158969.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved