使用子目录和SSL向nxginx下的服务发送请求时网关超时错误

问题描述 投票:0回答:1

我有两个docker容器,第一个在端口:80下运行nginx服务,第二个是在端口:32768下运行的示例项目。

当我想输入名为

https:...../hawkbit
的域名时,我想访问该域中当前可访问的服务
http:....:32769

我在主域中也有一个登陆页面。

Nginx 应该充当反向代理并从其背后的服务卸载 SSL 进程。

我在nginx中添加了一个新的conf文件并配置了如下所示的设置,我可以到达登陆页面,可以单独到达后面的服务,但是当我输入应该重定向请求的

https://dev.yusufss.com/hawkbit
时无法到达服务到
http://dev.yusufss.com:32769

等待

504 Gateway Time-out
打印到终端后,会出现错误
old SSL session ID is stale, removing.

这是 nginx 的配置文件。

server {
    listen 80;
    listen [::]:80;

    server_name dev.yusufss.com www.dev.yusufss.com;
    server_tokens off;

    location /.well-known/acme-challenge/ {
        root /var/www/certbot;
    }

    location / {
        return 301 https://dev.yusufss.com$request_uri;
    }
}

server {
    listen 443 default_server ssl;
    listen [::]:443 ssl;

    server_name dev.yusufss.com;

    ssl_certificate /etc/nginx/ssl/live/dev.yusufss.com/fullchain.pem;
    ssl_certificate_key /etc/nginx/ssl/live/dev.yusufss.com/privkey.pem;

    location /hawkbit {
        proxy_pass http://dev.yusufss.com:32769/;
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

    location / {
        alias /etc/webserver/landing_page/;
        index index.html;
    }
}

当我发送curl消息时记录, curl-request-logs

Nginx 日志 nginx-logs

docker容器的状态 docker-containers

非常感谢任何帮助,谢谢。

nginx ssl curl https nginx-reverse-proxy
1个回答
0
投票

我已经通过在防火墙上打开

port 32769
解决了这个问题。

在我看来,由于这是封闭的流量,因此将请求代理到其背后的服务应该不会有任何问题。然而,UFW 阻止了该请求。

我使用下面的命令修复了它,

sudo ufw allow 32769
© www.soinside.com 2019 - 2024. All rights reserved.