1.自己准备做一个微信小程序,但是微信小程序如果要调接口的话需要配置安全的链接。
所以先把准备工作做好,在阿里云Ubuntu服务器上安装SSL证书。先看一下效果,通过nginx转发请求到服务器上的tomcat。
2.首先你得有一个域名,域名备案比较麻烦,域名我以前备案过了,所以就用这个域名讲解。关于域名如何备案,这里就不再介绍,一般根据域名服务商给的步骤一步一步走就可以了。
阿里云服务器安装SSL证书方法和教程
阿里云控制台,点击SSL证书
3.选择单域名证书。输入框中填写www就可以了。然后点解确定,会进行审核,一般比较快,五分钟就好了。
4.点击左侧菜单栏CA证书服务,进入如下界面,可以看到你的域名申请的证书的情况。
5.点击下载,进入的界面。因为我们这次需要通过nginx转发请求,所以我们下载对应nginx的证书。下载之后是一个压缩包,里面有两个文件。把这两个文件先上传到服务器上,我是在服务器上安装了vsftp,然后通过ftp工具(xftp)上传的。
6.安装nginx依赖
# 查看zlib是否安装
dpkg -l | grep zlib
# 解决依赖包openssl安装
sudo apt-getinstall openssl libssl-dev
# 解决依赖包pcre安装
sudo apt-getinstall libpcre3 libpcre3-dev
# 解决依赖包zlib安装
sudo apt-getinstall zlib1g-dev
7.下载nginx
# 下载nginx
wget http://nginx.org/download/nginx-1.13.1.tar.gz
# 解压nginx
tar -xzvf nginx-1.13.1.tar.gz
# 重命名文件夹
mv nginx-1.13.1 nginx
# 移动文件夹到ubuntu常见软件目录下
mv nginx/ /usr/local/
8.安装nginx
# 配置nginx
cd /usr/local/nginx
sudo ./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_realip_module
# 编译nginx
sudo make
# 安装nginx
sudo make install
9.配置用户
# 添加www组
groupadd www
# 创建nginx运行账户www并加入到www组,不允许www用户直接登录系统
useradd -g www www -s /bin/false
10.配置nginx
在nginx的安装目录conf目录下新建文件夹cert,把我们在阿里云上下载的安全证书放到这里面。
编辑conf目录下的nginx.conf文件,修改如下内容:
# HTTPS server# #server {# listen 443;# server_name localhost;# ssl on;# ssl_certificate cert.pem;# ssl_certificate_key cert.key;# ssl_session_timeout 5m;# ssl_protocols SSLv2 SSLv3 TLSv1;# ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;# ssl_prefer_server_ciphers on;# location / {###}#}替换为如下:(注意:安全证书的文件名改成你自己的。)
server { listen 443; server_name localhost; ssl on; root html; index index.html index.htm; ssl_certificate cert/1526711138008.pem; ssl_certificate_key cert/1526711138008.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; location / { root html; index index.html index.htm; }}11.开放443端口,并在阿里云控制台开放443端口
ufw allow 443
我用的是阿里云的ecs服务器,443端口默认是不允许访问的,所以登陆阿里云管理控制台,展开实例的管理选项:(如果需要其他端口可以访问的话也需要这样做,先在服务器中启用端口 ufw allow 端口号,然后在阿里云管理控制台中配置安全规则。)
12.启动nginx,访问www.52going.cn
启动nginx
/usr/local/nginx/sbin/nginx
停止nginx
/usr/local/nginx/sbin/nginx -s stop
重启nginx
/usr/local/nginx/sbin/nginx -s reload
13.安装tomcat
下载:
wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.0.52/bin/apache-tomcat-8.0.52.tar.gz
解压
tar zxvf apache-tomcat-***.tar.gz
移动
sudo mv apache-tomcat-***/ /opt/apache-tomcat-***
创建链接
sudo ln -s /opt/apache-tomcat-**/ /opt/tomcat8
启动
/opt/tomcat8/bin/startup.sh
可以正常访问
14.通过nginx转发请求
更改nginx的配置文件如下:
15.通过https的方式访问域名,可以看到请求已经转发到tomcat。
16.总结:
(1).首先要申请域名,并且要实名要备案不然就是下面这个样子
(2).购买服务器,这样你才能有一个公网的ip,并把你的域名解析到这个公网IP上。
(3).服务器要安装vsftp,这样你才可以把本地电脑上的文件传到服务器上。
(4).开放端口,Ubuntu使用ufw allow 端口号 开启端口。如果没有安装ufw请先安装。ufw status 查看已经开放的端口。其次在阿里云管理控制台配置安全策略,因为阿里云认为 80 8080 443这些端口是高危端口。
(5).安装nginx的时候如果有报错看一下是不是有依赖没有装。
(6) .启动tomcat或者nginx的时候如果端口占用请先关闭若还是不行可以通过如下方式:
lsof -i:端口号
kill-9 pid
再次启动tomcat或nginx
17.至此为止在阿里云服务器上安装安全证书已经完成了,以后开发微信小程序的时候可以直接配置域名,可以用java写接口(比如说可以做一个查询快件的小程序,小程序把请求的参数传给接口,接口封装参数,调用快递查询接口并将返回的内容处理后再返回给微信小程序),这样做出来的小程序扩展性更强,功能更强大。
如有不正确的地方欢迎大家指正。如上便是安装SSL证书的教程,请大家参考!