如何解决nginx 问题/导致重定向到端口 80
我想将所有流量从 http://localhost:8080 重定向到 http://my-service:8080
但是当我访问 http://localhost:8080 时,Nginx 将我重定向到 http://localhost
这是我的 Nginx.conf
events {
worker_connections 1024; ## Default: 1024
}
http{
server {
listen 8080 default_server;
listen [::]:8080 default_server;
server_name localhost;
location / {
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_pass http://my-service:8080/;
}
}
}
这是我的 docker-compose
version: '2.1'
services:
Nginx-proxy:
image: Nginx:stable-alpine
container_name: Nginx-proxy
ports:
- "8080:8080"
volumes:
- ./data/Nginx/Nginx.conf:/etc/Nginx/Nginx.conf
networks:
- no-internet
- internet
my-service:
....
expose:
- "8080"
networks:
- no-internet
networks:
internet:
driver: bridge
no-internet:
internal: true
driver: bridge
当我在没有 Nginx 的情况下运行 docker compose 时,我可以访问 http://localhost:8080 而无需重定向。
解决方法
我解决了这个问题:
server {
listen 8080;
listen [::]:8080;
server_name localhost;
location / {
proxy_pass http://ap-service:8080;
proxy_redirect http://ap-service:8080/ $scheme://$host:8080/;
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。