文章目录
前言
开发小程序小程序之后,小程序配置的后台服务需要是https或者wss的域名地址(现在这两种域名都可以自定义端口了),接下来使用ngnix实现对域名的配置。
一、ngnix
Nginx 是一个很强大的高性能Web和反向代理服务,可以通过它配置将http和ws协议反向代理成https和wss协议。
二、使用步骤
1.阿里云上申请SSL证书
下载ngnix的相证书,放到ngnix的conf文件夹下,建一个cert的新文件夹,将两个文件***.pem和***.key的文件拷贝如cert中。
2.配置ngnix
代码如下:
#http转https
server {
#配置HTTPS的默认访问端口为443。
#如果未在此处配置HTTPS的默认访问端口,可能会造成Nginx无法启动。
#如果您使用Nginx 1.15.0及以上版本,请使用listen 443 ssl代替listen 443和ssl on。
listen 9061 ssl;
#填写证书绑定的域名
server_name 域名地址;
root html;
index index.html index.htm;
#填写证书文件名称
ssl_certificate cert/***.pem;
#填写证书私钥文件名称
ssl_certificate_key cert/***.key;
ssl_session_timeout 5m;
#表示使用的加密套件的类型
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
#表示使用的TLS协议的类型,您需要自行评估是否配置TLSv1.1协议。
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
location / {
#Web网站程序存放目录
proxy_pass http://localhost:9060;
}
}
#ws转wss
server {
listen 9062 ssl;
server_name 域名地址;
#填写证书文件名称
ssl_certificate cert/***.pem;
#填写证书私钥文件名称
ssl_certificate_key cert/***.key;
ssl_session_timeout 5m;
ssl_session_cache shared:SSL:50m;
ssl_protocols SSLv3 SSLv2 TLSv1 TLSv1.1 TLSv1.2; #按照这个协议配置
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://地址:8238; #这里的确是http不是ws
proxy_read_timeout 60s;
proxy_set_header Host $host;
proxy_set_header X-Real_IP $remote_addr;
proxy_set_header X-Forwarded-for $remote_addr;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'Upgrade';
}
}