利用云服务提供商的免费证书,在服务器上发布https前端应用和WebAPI的应用

我们如果要在服务器上发布https前端应用和WebAPI的应用,那么我们就需要用到https证书了。我们一般发布的应用的云服务器上,都会提供一定量的相关的免费证书(一般为20个)供我们使用,每个一年期限,到期再续即可,一般情况下基本上满足要求了,本篇随笔介绍如何基于云服务提供商的免费证书,在服务器上发布Nginx的前端应用和基于IIS的Web API接口的https应用处理。

1、申请免费证书

如阿里云和腾讯云,他们云服务器管理控制台上,都可以找到对应免费https的SSL证书申请的入口,如下所示。

 在申请界面上,填入所需的域名,以及相关信息就可以发起申请了,申请后等待一点时间就会成功了,如阿里云的申请界面如下。

而腾讯云上的申请入口也是类似,如下界面所示。

  申请成功后,在列表中就可以看到下载SSL证书的信息了。如下所示。

 在下载界面上,我们可以看到不同部署服务器上的不同证书下载入口,选择我们具体的(如这里用到了Nginx和IIS的SSL证书文件)

 我们选择所需的证书文件下载下来备用即可。下面会继续介绍IIS证书的安装和使用,以及Nginx的证书文件处理实现https的应用和接口服务。 

 

2、发布基于IIS的Web API的https应用接口

 如我们先下载IIS的证书文件,我们可以看到除了证书文件,还有一个附带的文本文件,是证书的密码信息。

 

 我们双击进行证书的安装,选择本地计算机的存储位置即可。

  然后输入所需的证书密码,完成安装就可以了。

  发布一个IIS的Web API应用,然后在右键进行端口的绑定处理,设置绑定的为https,指定端口,并指定具体的SSL证书就是了,如下所示。

 绑定的界面如下所示。

 这样IIS的服务器端的Web API就可以使用https的协议了。 

 

3、发布Nginx的前端应用

我们的前端是基于Vue的应用的,因此应用发布后,使用Nginx发布前端应用更为方便,因此这里介绍使用SSL免费证书在服务器上发布Nginx的前端应用,以便使用https协议访问。

前面我们提到了在申请完免费的SSL证书后,下载对应的Nginx的SSL证书文件。

基于Nginx的SSL证书设置,有两种方式,一种是创建一个ssl.conf文件,设置ssl.conf的方式指定对应的证书信息,如下所示。

#ssl. conf文件内容

server {
listen
8080 ssl http2; server_name localhost ; ssl_certificate C: /WebRoot/nginx/conf/ssl/ www.iqidi.com_bundle.crt ; ssl_certificate_key C: /WebRoot/nginx/conf/ssl/ www.iqidi.com.key ; # 先配置签名证书,再配置加密证书,签名加密证书私钥 key 为同一个!
ssl_session_timeout 5m
; ssl_protocols TLSv1 .2; ssl_ciphers SM2-WITH-SMS4-SM3 :ECDH:AESGCM:HIGH:MEDIUM :!RC4:!DH:!MD5:!aNULL:!eNULL; ssl_prefer_server_ciphers on ; location / {
root html
/CollectDataApp; index index .html index.htm; }
}

这样我们在conf/nginx.conf 文件中设置端口侦听,就可以了

 server {
listen
8080 ssl ; server_name localhost ; #charset koi8-r; #access_log logs/host.access.log main; location / {
root html
/CollectDataApp; index index .html index.htm; try_files $uri $uri/ /index.html =404; } }

如果是不想独立分开两个配置文件,也可以把SSL证书位置信息写在conf/nginx.conf 文件中,也是可以的,如下所示。

 server {
listen
9002 ssl; server_name localhost ; ssl_certificate C:/WebRoot/nginx/conf/ssl/www.iqidi.com_bundle.crt;
ssl_certificate_key C:/WebRoot/nginx/conf/ssl/www.iqidi.com.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
#charset koi8-r; #access_log logs/host.access.log main; location / {
root html
/AssetCheckApp; index index .html index.htm; try_files $uri $uri/ /index.html =404; } }

这样就合并了SSL设置和端口侦听的文件在一起,测试后正常使用了。

以上就是关于利用云服务提供商的免费证书,在服务器上发布https前端应用和WebAPI的应用的整个过程,证书解决了,根据不同的应用服务器,设置好对应的方式就可以实现https应用了。

一旦我们完成了免费证书的申请、下载,那么在服务器上不同端口的应用,都可以使用这个证书作为SSL证书,从而实现多个不同应用端口上公用一个SSL证书了,因为证书对应的是一个相同域名的,因此可以正常使用。

 

标签: Javascript

添加新评论