请选择
进入手机版
|
继续访问电脑版
首页
Portal
业界资讯
社区
BBS
我的家园
Space
个人空间
导读
Guide
登录
/
注册
用户名
Email
自动登录
找回密码
密码
登录
注册
搜索
搜索
本版
帖子
用户
本版
帖子
用户
帖子
好友
道具
勋章
收藏
任务
淘帖
门户
导读
设置
我的收藏
退出
腾讯QQ
微信登录
首页
›
≡≡网络技术≡≡
›
服务器
›
搭建有效SSL证书的HTTPS站点
返回列表
安全
搭建有效SSL证书的HTTPS站点
[ 复制链接 ]
灰儿
2019-10-11 17:22:02
1.搭建HTTPS站点,首先必须的就是证书问题,渠道有好多,但是一定要有自己的域名(keytool生成的除外),否则无法进行SSL证书的申请!
(1)付费版:腾讯云,阿里云之类的一大把。土豪请随意,但这里要提一下,阿里云可以申请免费的,但是手续很麻烦,有空的朋友可以了解下。
进入阿里云:
https://cn.aliyun.com/product/cas
然后选择立即购买,进入购买页后,要先选择证书品牌,选择Symantec,然后才会弹出免费型DV的选项,后续的操作就自己操作吧。
-------------------------------------------------------------------------------------------
(2)免费版
免费版之前有篇文章讲解如何通过java的KeyTools生成免费证书,但是这种纯粹用来玩玩就好了,下面说下LetsEncrypt这个免费证书,官方网站:
https://letsencrypt.org
,了解了相关信息后,我们去申请该证书,当然,也可以自己动手,按照官方的手册,自己搭建环境生成SSL证书,但这里我是通过第三方网站来生成的,网址如下:
https://freessl.org
,一句话概括就是简单无脑有成效,我们需要做的就是登陆自己域名所在服务器去验证下该服务器的所有权是不是本人的就可以了,其他它帮你搞定!步骤如下:
1.输入自己的域名,当然这里的域名是我虚构的,然后选择证书品牌,点击创建免费域名
2.根据自己的需要选择,邮箱是接收一些通知信息的,比如快到期的时候,他会发通知给你进行续期(其实是要重新申请),这里验证方式我推荐是文件认证,因为只要把它要求的文件放到域名所对应的服务器上,然后我们通过他指定的路径能访问到这个文件,他就认为这个服务器的所有权是你的才给你验证通过
点击创建后,会出来下面的界面
这里他给出了一个文件路径do1shoje.cn/.well-known/pki-validation/fileauth.txt,什么意思呢?上面已经说到了,我任何一个浏览器,只要我能访问到正常访问到这个url,然后该文件内记录的值等于它给定的值
(这里是201805200304223ek9pdaejm21kzl47ih45fvw5j76w7fqx05gag9nou4zb2uoru),满足了这2个条件即认证成功,所以我们要把这个文件下载下来,放到服务器上,然后想办法通过这个地址do1shoje.cn/.well-known/pki-validation/fileauth.txt可以访问到这个文件即可,当我们浏览器测试成功后,点击【文件验证】按钮,一般你浏览器测试可以访问,这一步基本上没问题了。来看看我是怎么做的,因为我的服务器上搭了Nginx,通过nginx做跳板,所以我nginx配置文件里是这样配置的:
location /.well-known/pki-validation/ {
root E:/soft/nginx/nginx-1.14.0;
autoindex on;
}
因为我是把nginx看成了一个静态资源服务器,所以需要自己建个目录,来对应上面的路径,然后把指定的文件扔到指定的目录即可
重启nginx,最终测试浏览器访问成功,点击文件验证,ok,然后他就自动帮你生成了一系列东西,然后下载他给的zip文件,里面有ca证书和私钥,我测试时时压缩包里的2个文件是xxx.pem文件和xxx.key文件,好的,证书拿到手了,现在就是考虑怎么应用到站点里,
------------------------应用到站点--------------------------
如果用nginx做跳板,那就需要启用nginx的https模块,然后rewrite到https站点,即原理就是,https访问nginx,nginx再重定向到https站点,这种情况一般都是nginx单独作为一台代理服务器,站点作为一台web服务器,另外https都是跟域名挂钩的,因为SSL证书认证的是域名,不是IP,即使你访问百度
https://14.215.177.38/
,也是会提示证书不信任,因为证书认证的是
www.baidu.com
,而不是baidu的ip。这也就是为什么申请时一定需要域名了
我的服务器场景是:nginx和tomcat都装在一台机里,上nginx的配置文件好了:
#HTTPS
server {
listen 8889 ssl;#默认是443,但是我的443端口被占用了,改成了8889
server_name do1shoje.cn;
ssl_certificate ../ca/cert.pem;#上面下载下来的CA证书
ssl_certificate_key ../ca/cert.key;#上面下载下来的秘钥
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
#rewrite 自己写
}
好的,nginx配置完毕,nginx只需配置该内容即可,然后我们回到tomcat,修改tomcat的server.xml文件,
#如果不需要nginx,则只配置tomcat就可以了
<Connector port="8889" protocol="org.apache.coyote.http11.Http11AprProtocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
SSLCertificateFile="D:\ca\cert.pem"
SSLCertificateKeyFile="D:\ca\cert.key"
SSLProtocol="TLSv1+TLSv1.1+TLSv1.2" URIEncoding="UTF-8"/>
这里请注意protocol="org.apache.coyote.http11.Http11AprProtocol"这个地方,
tomcat默认的协议是protocol="org.apache.coyote.http11.Http11Protocol",这样,HTTPS搭建站点即告一段落,后续通过域名加端口号+项目的URL即可(因为我这里默认的80被用了,所以只能加上端口号,do1shoje.cn不加端口号其实默认是do1shoje.cn:80)
但这样只能通过https访问,要是需要输入
http://do1shoje.cn
也能跳转到
https://do1shoje.cn
呢?
在项目web.xml末尾加上如下配置即可:
<security-constraint>
<web-resource-collection >
<web-resource-name >SSL</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
然后我们访问Http端口时就会跳转到https协议端口
最后,上最终效果图
如果搭建的是IIS站点,需要将PEM转成.pfx格式,在Linux或者Mac执行
openssl pkcs12 -export -out cert.p12 -in cert.pem -inkey cert_key.key -passin pass:root -passout pass:root
(cert.p12:转换PEM后生成的文件名,cert.pem:申请的pem格式证书名,cert_key.key申请的pem格式证书秘钥,root:打开或安装证书时需要该密码)
然后需要在IIS的服务器证书上导入该证书
方法二:nginx搭建https站点
请移步本人博客:
https://blog.csdn.net/u012557538/article/details/77247867
————————————————
版权声明:本文为CSDN博主「简乐君」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:
https://blog.csdn.net/u012557538/article/details/80389071
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
显身卡
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册
回复
本版积分规则
回帖后跳转到最后一页
灰儿
管理员
9820篇
主题总数
7
总热度
提问
+关注
产品动态
2024-03-28
在线网络子网掩码和IP地址范围计算器
2024-03-26
神州数码云科(DCN)交换机WEB管理界面重启交换机设备方法
2024-03-24
路由器和三层交换机的ACL(访问控制列表)和防火墙安全策略
2024-03-24
三层交换机与路由器配置上网
2024-03-24
3层交换机vlan互访还需要设置回程路由吗?
2024-03-23
网御星云_V6000_P1320安全网关内网访问互联网路由模式配置
2024-03-14
网络路由跟踪命令tracert与traceroute命令详解
2024-03-13
神州数码DCFW-1800E-N6002防火墙路由器SSL VPN设置教程
热点推荐
1
在线网络子网掩码和IP地址范围计算器
2
神州数码云科(DCN)交换机WEB管理界面重启交换机设备方法
3
路由器和三层交换机的ACL(访问控制列表)和防火墙安全策略
4
三层交换机与路由器配置上网
5
3层交换机vlan互访还需要设置回程路由吗?
6
网御星云_V6000_P1320安全网关内网访问互联网路由模式配置
7
网络路由跟踪命令tracert与traceroute命令详解
8
神州数码DCFW-1800E-N6002防火墙路由器SSL VPN设置教程
热门板块
PC操作系统
启动和引导
手机操作系统
硬件相关
办公软件
多媒体技术
产品动态
2024-03-28
在线网络子网掩码和IP地址范围计算器
2024-03-26
神州数码云科(DCN)交换机WEB管理界面重启交换机设备方法
2024-03-24
路由器和三层交换机的ACL(访问控制列表)和防火墙安全策略
2024-03-24
三层交换机与路由器配置上网
2024-03-24
3层交换机vlan互访还需要设置回程路由吗?
2024-03-23
网御星云_V6000_P1320安全网关内网访问互联网路由模式配置
2024-03-14
网络路由跟踪命令tracert与traceroute命令详解
2024-03-13
神州数码DCFW-1800E-N6002防火墙路由器SSL VPN设置教程
热点推荐
1
在线网络子网掩码和IP地址范围计算器
2
神州数码云科(DCN)交换机WEB管理界面重启交换机设备方法
3
路由器和三层交换机的ACL(访问控制列表)和防火墙安全策略
4
三层交换机与路由器配置上网
5
3层交换机vlan互访还需要设置回程路由吗?
6
网御星云_V6000_P1320安全网关内网访问互联网路由模式配置
7
网络路由跟踪命令tracert与traceroute命令详解
8
神州数码DCFW-1800E-N6002防火墙路由器SSL VPN设置教程
热门板块
PC操作系统
启动和引导
手机操作系统
硬件相关
办公软件
多媒体技术
学习中心
站长自定义文字内容,利用碎片时间,随时随地获取优质内容。
Q设计语言
了解更多
Q Design 提供商家设计所需的指导与资源,帮商家快速完成产品设计、降低生产成本。
学习中心
站长自定义文字内容,利用碎片时间,随时随地获取优质内容。
Q设计语言
了解更多
Q Design 提供商家设计所需的指导与资源,帮商家快速完成产品设计、降低生产成本。