nginx配置https服务
看了自问自答的图灵机器人,想在微信的小程序上搭个能自我聊天,或者查询的小机器人,可是,微信只支持https,而图灵机器人提供的接口只支持http接口,所以只能在中间搭个中转的服务器咯。 一、准备服务器的话,拿出我那台吃灰的ecs。服务器端的话,还是用我比较了解的node,再配上nginx反向代理。 既然要https,那么证书等这一步也是不能少的。阿里云上正好也有免费的证书提供下载。 首先到证书控制台,点击右上角的购买证书 品牌选择Symantec,保护类型选择一个证书,此时有出现了免费型DV SSL这个选项,选择并购买。 买完这个证书后,会回到证书控制台,对该证书进行补全处理。 等待十分钟左右,证书就好啦。 点击下载,进行证书,私钥公钥的下载。 选择nginx,点击下载。 下载解压后,我们得到两个文件, 文章后面的配置可以作为参考。 这样我们就准备好啦,开始配置nginx。 二、nginx配置先上传key,在nginx安装目录下(/etc/nginx)下新建了一个cert的文件夹,再使用rz命令将这两个文件读到服务器上去(上传再解压一样)。 我的nginx一开始装好了,这儿就不再演示了。首先到根目录,修改配置文件。 cd /etc/nginx/sites-available/ vi default 修改server中的内容, server { listen 80; listen 443; ssl on; server_name www.zhuyuntao.com; ssl_certificate /etc/nginx/cert/215067043560468.pem; ssl_certificate_key /etc/nginx/cert/215067043560468.key; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_session_timeout 5m; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_prefer_server_ciphers on; location / { proxy_set_header Host $host; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection ""; proxy_cache_bypass $http_upgrade; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-Nginx-Proxy true; proxy_pass http://127.0.0.1:3000; } } 这样就好了,当然ssl_certificate和ssl_certificate_key不要填错反了,server_name记得改成自己的域名,proxy_pass改成自己node程序的地址。 注:如果有问题的化,记得检查下80和443端口是否被其他程序占用了。 三、测试与修改测试下,打开https://www.zhuyuntao.com/地址,可以正常打开,https就生效了。倘若我们使用http登录,发现出现了400报错,如下: The plain HTTP request was sent to HTTPS port,大概的意思就是http请求被发送到了https端口了。 http与https共存我们继续修改配置,将刚才第二行listen 443和第三行ssl on合并成(listen 80别丢了): listen 443 ssl; 此时再测试时,http和https均可以访问。 强制https我们只要将http请求跳转到https上就行了。继续在第一份的配置之上修改。 首先删除第一行的listen 80。 在文件最前方新增一个新的server, server { listen 80; server_name www.zhuyuntao.com return 301 https://$server_name$request_uri; } 保存后,service nginx restart,重启下nginx,http就能跳转到https上啦。 好了,下面开始玩我的小机器人啦。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |