【问题标题】:How to make nginx serve multiple port redirects via ssl?如何使 nginx 通过 ssl 服务多个端口重定向?
【发布时间】:2021-09-07 10:58:44
【问题描述】:

我的计算引擎上运行一个前端和两个后端。

我的第一个后端在端口 5000 上运行,第二个后端在 5050 上运行。我将所有前端文件放在一个名为 /var/www/html 的文件夹中。

这是我的 nginx 配置文件:

server {
    listen 80 default_server;
    server_name <server_name>;
    return 301 https://$server_name$request_uri;
}
 
server {
    listen 443 ssl;
    server_name <server_name>;
    ssl_certificate <location_to_certificate>;
    ssl_certificate_key <location_to_private_key>;

    location / {
        root /var/www/html;
        index index.html index.htm;
    }
}

现在这可以很好地使用 ssl 为我的前端文件提供服务,但后端 api 使用以下命令在烧瓶 gunicorn 上运行:

gunicorn --workers 5 -b 0.0.0.0:5050 wsgi:app

gunicorn --workers 5 -b 0.0.0.0:5000 wsgi:app

这些文件位于两个不同的文件夹中。我不知道如何使用 nginx 在 https 模式下监听这两个端口。

【问题讨论】:

    标签: nginx nginx-reverse-proxy


    【解决方案1】:

    经过大量查找,我可以通过简单地添加另一个侦听器服务器来实现这一点,如下所示:

    server {
        listen 80 default_server;
        server_name <server_name>;
        return 301 https://$server_name$request_uri;
    }
     
    server {
        listen 443 ssl;
        server_name <server_name>;
        ssl_certificate <location_to_certificate>;
        ssl_certificate_key <location_to_private_key>;
    
        location / {
            root /var/www/html;
            index index.html index.htm;
        }
    }
    
    server {
        listen 5050 ssl;
        server_name <server_name>;
        ssl_certificate <location_to_certificate>;
        ssl_certificate_key <location_to_private_key>;
    
        location / {
            include proxy_params;
            proxy_pass http://unix:<location_to_,sockfile>;
        }
    }
    

    另外,创建.sock文件,我参考了这个教程:https://www.digitalocean.com/community/tutorials/how-to-serve-flask-applications-with-gunicorn-and-nginx-on-ubuntu-18-04

    一旦创建了.sock 文件,该过程就变得非常简单。如果您收到502 bad gateway 错误,这意味着您已正确配置了 nginx.conf 文件,但您需要连接 nginx 和 gunicorn 并调试此类问题,我发现 guide 非常有用。

    最好的收获是,您始终可以在 /var/log/nginx/ 中评估您的日志并查找 errors.logaccess.log 以更快地调试问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-04-01
      • 2020-05-22
      • 1970-01-01
      • 1970-01-01
      • 2018-04-11
      • 2015-03-20
      • 2023-03-10
      相关资源
      最近更新 更多