关于nginx配置不当出现的404问题
问题描述:路由刷新报404,找不到这个地址。原因分析:1,本地与服务器端都可以单独运行;2,代码部分不存在问题;3,eureka注册中心存在所需的服务;4,nacos配置一般不会有问题;5,nginx配置中只有location ~ /rest/{...# 三个点省略了里面的内容}如果这么配置,那么访问地址至少带有/rest/,如http://123.45.67.89/rest/test/,不带有/
·
问题描述:
路由刷新报404,找不到这个地址。
原因分析:
1,本地与服务器端都可以单独运行;
2,代码部分不存在问题;
3,eureka注册中心存在所需的服务;
4,nacos配置一般不会有问题;
5,nginx配置中只有
location ~ /rest/{
...
# 三个点省略了里面的内容
}
如果这么配置,那么访问地址至少带有/rest/,如http://123.45.67.89/rest/test/,不带有/rest/的地址就会找不到,出现404的情况,如http://123.45.67.89/test/。其他地址也可以类似配置。
那么,就是nginx的配置出现了问题。
解决方案:
在网上找了很多关于类似问题的解决方案,都没有解决!(注:不是所有的方案都不能解决,而是我在不太懂的情况下,模仿网上的方案)
由于是内网,不方便截图,纯文字说明,其中nginx是使用docker进行配置的。
# 1,找到nginx的CONTAINER ID
docker ps
#2,通过这个ID找到nginx的信息(主要是配置路径),假设CONTAINER ID是abc123
docker inspect abc123
#3,找到配置路径并进入(配置路径位于“HostConfig”->"Binds"),找到其中安装目录下的default.conf,如/home/nginx/default.conf
cd /home/nginx/
#4,配置default.conf,在location ~ /rest/后面再增加一个location ~ /,里面内容可以v一样
vim default.conf
location ~ /{
...
# 三个点省略了里面的内容
# 这个是需要添加的
}
5,最后重启nginx
docker restart nginx
至此,完美解决问题!
感受:自己不懂的还是太多了,这本是很小的问题,困扰自己好久。不过,困扰的时间也学会了很多东西,加油!
更多推荐
已为社区贡献1条内容
所有评论(0)