欢迎光临
我们一直在努力

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

本站教程收集整理的这篇文章主要介绍了nginx https作网关配置webapi路由规则,本站教程本站觉得挺不错的,现在分享给大家,也给大家做个参考。

为何有这篇文章?

因为我有多个小程序,分别调用不同的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://www.cnblogs.com/luxiaoyao/p/10034009.html? ?(这篇里,生成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] vps云服务器 "$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 命令终结他。

?

?

?

本站总结

以上是本站教程为你收集整理的nginx https作网关配置webapi路由规则全部内容,希望文章能够帮你解决nginx https作网关配置webapi路由规则所遇到的程序开发问题。

如果觉得本站教程网站内容还不错,欢迎将本站教程推荐给好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。