如何在本地配置https服务器,第1张

1找到jdk安装目录,运行控制台,切换到该目录;

2使用keytool为tomcat生成证书;

keytool -genkey -v -alias tomcat -keyalg RSA -keystore tomcatkeystore -validity 36500

3为客户端生成证书;

keytool -genkey -v -alias huawei -keyalg RSA -storetype PKCS12 -keystore huaweitestp12 -validity 36500

4将huaweitestp12导入到tomcat的信任证书链中

keytool-export -alias huawei -keystore huaweitestp12 -storetype PKCS12 -rfc -filehuaweitestcer

keytool-import -alias huawei -v -file huaweitestcer -keystore tomcatkeystore

5从tomcat的证书链里导出跟证书

keytool-export -v -alias tomcat -file CAcer-keystore tomcatkeystore

6将华为的outgoingCertpem导入tomcat的信任证书链

keytool -import -v -file outgoingCertpem -alias huawei -keystore tomcatkeystore

7将华为的capem导入tomcat的信任证书链

keytool -import -v -file capem -alias huawei_ca -keystore tomcatkeystore

8配置tomcat

双向认证:

<Connector port="28443"

protocol="orgapachecoyotehttp11Http11NioProtocol"

scheme="https" secure="true"

keystoreFile="conf/keys/tomcatkeystore" keystorePass="123$%^"

truststoreFile="conf/keys/tomcatkeystore" truststorePass="123$%^"

clientAuth="true" sslProtocol="TLS"

maxThreads="150" SSLEnabled="true">

单向认证:

<Connector port="28443"

protocol="orgapachecoyotehttp11Http11NioProtocol"

scheme="https" secure="true"

keystoreFile="conf/keys/tomcatkeystore" keystorePass="123$%^"

clientAuth="false" sslProtocol="TLS"

maxThreads="150" SSLEnabled="true">

9配置完后,可以在本地验证配置是否成功。

服务器上进行格式转换成pem格式

openssl x509 -inform der -in CAcer -out capem

通过以下命令模拟与应用服务器建链

单向认证模拟建链:

openssl s_client -connect ip:port -tls1 -CAfile capem

双向认证模拟建链:

openssl s_client -connect ip:port -cert huaweitestpem -CAfile CApem -tls1

10将生成的huaweitestp12和CAcer证书发给华为接口人。

平常开发要求比较低, 依然在用 HTTP, 但到了微信小程序就不行了, 腾讯和苹果都对 API 提出了 HTTPS 的要求 尤其是苹果, 不仅要求 HTTPS, 还要求 TLS 协议版本要在 12 以上, 这又被称为 App Transport Security(ATS)

关于自己的标准是否满足 ATS, 可以使用此工具检测: ATS(App Transport Security)检测 https://mysslcom/atshtmldomain=&port=443

服务器配置#

使用 Nginx 进行 HTTPS 配置, 服务器几乎不用做改动, 依旧是祖传的 8080 端口, 以我所使用的 Spring Boot 为例, 仅仅是在 applicationyml 中增加了两行配置而已

证书申请/购买#

域名的基本信息页, 点击免费开启 SSL 证书, 输入相应的域名, 点击「申请」即可申请免费的 DV SSL 证书, 还需要做一些简单的信息补全等, 即可提交申请 如果备案信息都齐全的话, 很快就可以验证成功, 在证书管理页面即可查看证书

选择下载证书for Nginx, 证书一式两份, 后缀分别为 pem 和 key, 下载完上传到服务器

域名映射#

我选择为两个子域名申请证书, 同时将这两个域名映射到同一个IP

Nginx 配置#

首先, 需要把 http 都转发到 https, 需要使用 rewrite, 这样, 当访问 http://examplecn 会自动转发到 https://examplecn

然后就是真正的 https 不分了, 虽然域名不同, 但都监听 443 端口, 但有着不同的 server_name, 这样当收到请求时就可以根据请求的 server_name 不同来转发到不同的服务

而服务自身像往常一样只要继续监听 8090、8091 即可

配置修改好之后, 需要重启 Nginx

参考#

Nginx 配置 HTTPS 服务器 | Aotuio「凹凸实验室」

阿里云+Https+Nginx+SpringBoot | tt_study

作者:质子

出处:https://wwwcnblogscom/imzhizi/p/https-server-using-nginxhtml

本站使用「CC BY 40」创作共享协议,转载请在文章明显位置注明作者及出处。

1、安装“URL REWRITE2 ” 伪静态模块,IIS7需要先确认是否安装 “URL REWRITE2 ” 伪静态模块 , 如果已经安装可以跳过。

2、选择站点:URL 重写,如果安装的是英文版的 应该是Url rewrite

3、添加 “ 空白规则”

4、添加规则

名称 : HTTPS

匹配URL 模式: ()

添加条件: 条件: {HTTPS} 模式: off

操作类型选择:重定向

重定向URL:https://{HTTP_HOST}/{R:1}

同一IP如何配置多个HTTPS主机用SNI扩展。

SNI(Server Name Indication)定义在RFC 4366,是一项用于改善SSL/TLS的技术,在SSL30/TLS10中被启用。它允许客户端在发起SSL握手请求时(具体说来,是客户端发出SSL请求中的ClientHello阶段),就提交请求的Host信息,使得服务器能够切换到正确的域并返回相应的证书。

要使用SNI,需要客户端和服务器端同时满足条件,幸好对于现代浏览器来说,大部分都支持SSL30/TLS10及以上版本,所以都可以享受SNI带来的便利。

4个站点共用一个SSL证书,那就是多域名SSL证书了。IIS安装多域名SSL证书的教程步骤如下:

1)首先,导入多域名证书,打开IIS管理器,点击根目录,在右侧找到有一个“服务器证书”。

2)打开后,点击右侧“导入”命令。

3)直接选择证书,然后输入密码,点击确定。

4)证书导入成功后,我们选择根目录下—网站—站点,点击右侧“绑定”。

5)在证书绑定窗口中,点击添加。选择“https”以及选择导入的证书。(多个站点都是同样的方法绑定https)

6)打开C盘找到  C:\Windows\System32\inetsrv\config\sslidcspynetfig。

7)在这里要注意一定用记事本打开编辑,搜索443,将域名添加上即可,最后保存。

主要看你购买服务器的运营商面板支持不支持配置HTTPS协议,而且有些运营商HTTPS是有免费的,但是也有一些平台是有售价的!

这个还是有区分的,所以你先了解清楚后再配置,当然你用香港主机,如果你域名没有备案,用HTTPS没有太大的意义,这个是我个人这么理解的。因为这个是为了数据安全协议,当然百度站长平台以及很多其他平台都在推崇HTTPS协议网站就是!

不过你打算长期做站点,而且备案了的情况下,还是配置下,这个还是有必要的,第一可以更好的提升网站的可信度,第二可以更好的利用这个提升搜索引擎的SEO排名,可以更好的获取更多流量。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 如何在本地配置https服务器

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情