如何解决找不到 Nginx 404
我正在使用 docker compose 运行最新版本的 Nginx,使用我将 Nginx.conf 文件复制到 Nginx docker 容器中的卷
Nginx:
image: Nginx:1.20
container_name: Nginx
ports:
- 80:80
restart: unless-stopped
volumes:
- ./Nginx/Nginx.conf:/etc/Nginx/default.conf
depends_on:
- strapi
- rocketchat
- keycloak
networks:
- test-network
每个应用程序都在同一个网络上运行。
events {
worker_connections 4096; ## Default: 1024
}
http {
server {
listen 80;
server_name qa.xxx.com;
location / {
proxy_pass http://strapi-container:1337/;
}
location /chat {
proxy_pass http://rocketchat-container:3000;
}
location /auth {
proxy_pass http://keycloak-container:8080;
proxy_set_header Host $host;
}
}
}
我的意图是使用 Nginx 配置运行三个后端 URL /、/chat、/auth。在实例上运行应用程序时,http://ip-address/chat、http://ip-address/auth 似乎不起作用
2021/06/02 07:46:42 [error] 31#31: *1 open() "/usr/share/Nginx/html/chat" Failed (2: No such file or directory),client: 115.96.103.237,server: localhost,request: "GET /chat HTTP/1.1",host: "310.28.67.222"
115.96.103.237 - - [02/Jun/2021:07:46:42 +0000] "GET /chat HTTP/1.1" 404 555 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/88.0.4324.182 Safari/537.36" "-"
2021/06/02 07:46:50 [error] 31#31: *2 open() "/usr/share/Nginx/html/auth" Failed (2: No such file or directory),request: "GET /auth HTTP/1.1",host: "310.28.67.222"
115.96.103.237 - - [02/Jun/2021:07:46:50 +0000] "GET /auth HTTP/1.1" 404 555 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/88.0.4324.182 Safari/537.36" "-"
解决方法
尝试在 proxy_pass 后面添加斜杠,除非您想添加文件夹。
location /chat {
proxy_pass http://rocketchat-cnr:3000;
}
重定向到 http://rocketchat-cnr:3000/chat,同时
location /chat {
proxy_pass http://rocketchat-cnr:3000/;
}
重定向到 http://rocketchat-cnr:3000/
访问http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_pass了解更多信息
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。