首页 > 系统相关 >nginx https作网关配置webapi路由规则

nginx https作网关配置webapi路由规则

时间:2022-12-12 23:04:08浏览次数:70  
标签:webapi 网关 http ssl www nginx api net

为何有这篇文章?

因为我有多个小程序,分别调用不同的api站点,服务器只能安装一个https单域名证书。

 

1、原webapi接口部署完毕,接口地址比如

​http://www.zyiz.net/api/getarticle?id=100​​(我们最常用的webapi规则都是  http://xxx.com/api/xxx)

 

2、nginx 配置成https站点模式; (如何搭建,可以参考如下链接)

参考网址:https://github.com/dunwu/nginx-tutorial#%E8%B5%84%E6%BA%90

(这篇里,生成https证书 章节可以忽略)

​http://www.zyiz.net/tech/detail-153635.html ​

3、修改nginx配置文件:nginx.conf

http {


include mime.types;
default_type application/octet-stream;

#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';

#access_log logs/access.log main;

sendfile on;
#tcp_nopush on;

#keepalive_timeout 0;
keepalive_timeout 65;

#gzip on;


server {

listen 443 ssl;
server_name api.uweixin.com; #修改为申请证书绑定的域名

#root html;
#index index.html index.htm;
#证书文件名称
ssl_certificate ../cert/1_api.uweixin.com_bundle.crt;
#私钥文件名称
ssl_certificate_key ../cert/2_api.uweixin.com.key;
ssl_session_timeout 30m;

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 /api/{
proxy_pass http://localhost:1666/api/;
}
location /zyizapi/{
proxy_pass http://www.zyiz.net/api/;
}

#location / {
#proxy_pass http://boot;
#root html;
#index index.html index.htm;
#}


}
}

其中,最容易出问题的就是匹配的规则;

location /api/{
proxy_pass http://localhost:1666/api/;
}
location /zyizapi/{
proxy_pass http://www.zyiz.net/api/;
}

看如上代码;我配置了2个webapi接口站点;

注意:(1)location 后面,/api/ 前后都要有杠/;
(2)proxy_pass  http://api.zyiz.net/api/  这个结尾也要有杠/;

4、配置完毕

这样就可以访问通过调用:

https://api.uweixin.com/zyizapi/getarticle?id=100   来调用

​http://www.zyiz.net/api/getarticle?id=100​

5、我重新加载 nginx的配置文件后,却迟迟未生效,纠结了几个小时;网上的解决方案是 skil 终结nginx的进程重新开启Nginx;我试了下,果然有效果;

taskkill /f /t /im nginx.exe    ----终结Nginx进程。

start nginx   --启动nginx 

nginx -s reload  ---重新加载配置文件。

nginx stop  停止nginx经常不起效果;所以最好是用taskkill 命令终结他。 

作者:沐雪
文章均系作者原创或翻译,如有错误不妥之处,欢迎各位批评指正。

本文版权归作者如需转载恳请注明。

如果您觉得阅读这篇博客让你有所收获
​​​ 为之网-热爱软件编程 http://www.weizhi.cc/​



标签:webapi,网关,http,ssl,www,nginx,api,net
From: https://blog.51cto.com/u_15162401/5932126

相关文章

  • Nginx 1.14.2 移植指南(openEuler 20.03 LTS SP1)
    介绍简要介绍Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,其特点是占有内存少,并发能力强,支持FastCGI、SSL、VirtualHost、URLRewrite、gzi......
  • nginx静态资源配置
    root与aliasroot会拼接locationalias不会拼接location例如rootlocation/static{   root/home/nginx-1.11.2.4/html/pc/dist;}访问http://127.0.0.1:80/static......
  • API网关的五大主要功能
    ​微服务架构将原本一个庞大的业务系统被拆分成许多粒度很小的系统进行独立部署和维护。这必然会导致跨系统交互复杂度增加、不同服务之间依赖关系变得更加复杂,这给微服务的......
  • API网关的五大主要功能
     微服务架构将原本一个庞大的业务系统被拆分成许多粒度很小的系统进行独立部署和维护。这必然会导致跨系统交互复杂度增加、不同服务之间依赖关系变得更加复杂,这给微服务......
  • 基于5G边缘网关的智慧公交站台应用
    发展智能物联网,有利于提高城市运行效率,优化居民生活体验,促进城市迸发活力。智能物联网已经融合进生活的方方面面,例如最常见、分布最广泛的公交站台,也能够通过物联网实现升......
  • 基于边缘智能网关打造智慧体育场
    运动健身是民众广泛存在的生活需求,体育场馆作为承载各种体育运动的基础设施,其运营管理效率、服务水平和智能化场景应用等都与用户体验紧密相关。得益于物联网、边缘计算、......
  • ELK模拟收集nginx日志
    ​这里我额外用了台服务器​​nginx​​-demo(172.16.10.125)使用epel源不然直接用命令安装nginx,提示没有可用的软件包​yuminstallepel-release//安装epelyumupdate......
  • wsl下docker的ubuntu20.04环境配置mysql、nginx、编译php、编译swoole
    1、docker的ubuntu镜像不识别命令 apt-getupdate #更新 2、aptinstallvim#安装vim编辑器 !!!!!wsl2不用换源,会导致安装依赖时出现版本不对应的情况!!!!! ......
  • NGINX的配置和基本使用
    LinuxNGINXNGINX:engineX,2002年开发,分为社区版和商业版(nginxplus)社区版:分为主线版(开发版,奇数),稳定版(偶数) Nginx官网:http://nginx.orgNGINX的两大功能:web服务器......
  • 视频接入网关如何挂载硬盘开启录像功能
    视频网关安装之后,默认是没有开启录像功能的,那么如何开启呢?就是挂载硬盘到指定的目录(/mnt/record/)下的任意目录。查看当前存在的硬盘sudofdisk-l 视频网关安装之......