502 (Bad Gateway)

  • Post author:
  • Post category:其他


今天在开发中遇到这么个问题,将连接的数据库改为服务器上的时候(服务器是Linux系统的),程序跑起来后一直出错。

部署好前端和后台之后,前端总是请求不到数据

,提示 502 (Bad Gateway)

出现了如题所示的错误,但是形成这个错误的原因有很多,我这里只提一下我遇到的问题。

其实修改了一系列的设置(在java后台设置数据库的参数)之后,就从502 变成了 401 。

而且最关键的是,在本地测试的时候,数据库表示这个样子的

本地数据库表

但是一旦当上上传到服务器上之后,却自动生成了大小写表,如下图所示

服务器上数据库表

而且最关键的是请求全部走向了首字母大写的表。郁闷啊。

耽误了好长时间

而打开数据库看该表明明是存在的,在我的印象中MySQL数据是不区分大小写的,后来查资料才发现,在Linux系统中MySQL默认是严格区分大小

写的,可以在配置文件中添加配置,

用root帐号登录后,在/etc/my.cnf 中的[mysqld]后添加添加lower_case_table_names=1,重启MYSQL服务,这时已设置成功:不区分表名的大小写;

其中 0:区分大小写,1:不区分大小写

MySQL在Linux下数据库名、表名、列名、别名大小写规则是这样的:

1、数据库名与表名是严格区分大小写的;

2、表的别名是严格区分大小写的;

3、列名与列的别名在所有的情况下均是忽略大小写的;

4、变量名也是严格区分大小写的;

——————————————————————————————————————‘’

除此之外我今天还遇到了一个问题,也会出现

502 (Bad Gateway)

这个情况。【端口请求的问题】。

我使用的是阿里云的服务器,请求的端口请求的问题。

想要请求阿里云的某个端口比如

8080

,除了要开放防火墙的端口以外,还需要开放阿里云服务器的

安全组端口才行。


且由于访问使用的TCP的方式,所以需要把端口开放成TCP的才行,。不能是UDP

。不过这个也要跟你的

请求方式有关

到底是

TCP

访问还是

UDP

访问,根据自己的实际情况来。

记住,这点很重要,我就是这里出现了问题,调试了很久才找出来。



版权声明:本文为taxuexumei原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。