0

我正在使用 dockerized Nextcloud,如下所示:https ://github.com/nextcloud/docker/tree/master/.examples/docker-compose/with-nginx-proxy-self-signed-ssl/mariadb/fpm

我将端口 80 映射到 12345,端口 443 映射到https://mycloud.example.com:1234612346 但是当我去http://mycloud.example.com:12345nginx(proxy容器)时,会出现错误“503 Service Temporarily Unavailable”。该错误也显示在proxy的日志中。

如何诊断问题?为什么 HTTPS 有效但 HTTP 无效?

4

1 回答 1

1

您能否提供启动 nextcloud 或 docker-compose 文件的 docker 命令?

诊断与 docker stuff 一样:获取当前正在运行的容器的 id

docker ps

然后查看日志

docker logs [id or name of your container] docker-compose logs [name of your service]

在容器中连接

docker exec -ti [id or name of your container] [bash or ash if alpine based container]

那里阅读了涉及的nginx conf文件。在您的情况下,我会检查从 http 到 https 的重定向,很可能类似于下面的内容,没有为 https 指定特定端口,因此端口为 443,因此无法正常工作

server {
       listen         80;
       server_name    my.domain.com;
       return         301 https://$server_name$request_uri;    <======== no port = 443
}

server {
       listen         443 ssl;
       server_name    my.domain.com;
       # add Strict-Transport-Security to prevent man in the middle attacks
       add_header Strict-Transport-Security "max-age=31536000" always; 

       [....]
}
于 2018-06-22T06:30:32.317 回答