nginx接口请求失效(nginx接口配置)
nginx接口配置
可以
不需要改动什么,你的服务器都是TOMCAT这个没变apache 是做负载平衡的吧Nginx 是一个高性能的 HTTP 和 反向代理 服务器也许会改变你的访问端口,对项目没有影响。只要你能和tomcat连起来,和以前一样用。
nginx 接口
前后端分离部署时,服务器A用于部署前端项目,称为前端服务器,服务器B用于部署后端项目,称为后端服务器。后端服务器通过开放API的方式,向前端服务器中的前端项目提供数据或数据操作接口,以此实现前端与后端的衔接。若受项目的成本限制,将前端项目与后端项目部署在同一服务器上也是可以的,可以通过nginx等反向代理服务器根据访问地址进行分发。 对于前后端分离,认识上有个误区,那就是很多人自称:我们老早就分离了,全AJAX,使用Angular或者什么什么就可以了。 这个说法是不合适的,打个比方,别人问的是逗如何解决家禽把蛋生在水草边的问题看地,但实际上人家养的是鸭子,答题的却是养鸡的,所以回答逗不让去水边就行了地,这显然不在点子上。
nginx api接口
tomcat默认端口是8080
nginx默认端口是80
在nginx的配置文件中设置api的请求转发端口为tomcat的8080就可以正常使用了
浏览器访问nginx的80端口,可以正常打卡网页
nginx处理请求
解决方法
解决方法1:
在nginx代理中增加一个header,标志用户请求是http还是https,后端获取header决定跳转到http/https页面。这个方法需要修改nginx配置和程序,不推荐,但是可以解决问题。
解决方法2(推荐):
nginx代理中配置proxy_redirect(使用proxy_redirect重定向url)
nginx接口规划
是不是端口占用或者监听的代码写错了
nginx如何处理请求
第一种:Nginx自己的错误页面
Nginx访问一个静态的html 页面,当这个页面没有的时候,Nginx抛出404,那么如何返回给客户端404呢?
看下面的配置,这种情况下不需要修改任何参数,就能实现这个功能。
server {
listen 80;
server_name www.test.com;
root /var/www/test;
index index.html index.htm;
location / {
}
# 定义错误页面码,如果出现相应的错误页面码,转发到那里。
error_page 404 403 500 502 503 504 /404.html;
# 承接上面的location。
location = /404.html {
# 放错误页面的目录路径。
root /usr/share/nginx/html;
}
}
第二种:反向代理的错误页面
如果后台Tomcat处理报错抛出404,想把这个状态叫Nginx反馈给客户端或者重定向到某个连接,配置如下:
upstream www {
server 192.168.1.201:7777 weight=20 max_fails=2 fail_timeout=30s;
ip_hash;
}
server {
listen 80;
server_name www.test.com;
root /var/www/test;
index index.html index.htm;
location / {
if ($request_uri ~* ‘^/$’) {
rewrite .* http://www.test.com/index.html redirect;
}
# 关键参数:这个变量开启后,我们才能自定义错误页面,当后端返回404,nginx拦截错误定义错误页面
proxy_intercept_errors on;
proxy_pass http://www;
proxy_set_header HOST $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-FOR $proxy_add_x_forwarded_for;
}
error_page 404 /404.html;
location = /404.html {
root /usr/share/nginx/html;
}
}
第三种:Nginx解析php代码的错误页面
如果后端是php解析的,需要加一个变量
在http段中加一个变量
fastcgi_intercept_errors on就可以了。
指定一个错误页面:
error_page 404 /404.html;
location = /404.html {
root /usr/share/nginx/html;
}
指定一个url地址:
error_page 404 /404.html;
error_page 404 = http://www.test.com/error.html;
nginx配置请求后端接口
负载均衡是将请求根据后端服务器的实际繁忙程度,发送到比较空闲的一台服务器上 所以每一台后端服务器必须完全一样,拥有相同的代码
本网站文章仅供交流学习 ,不作为商用, 版权归属原作者,部分文章推送时未能及时与原作者取得联系,若来源标注错误或侵犯到您的权益烦请告知,我们将立即删除.