如何使用 nginx 代理同一 SSL 域上的多个节点应用程序

如何使用 nginx 代理同一 SSL 域上的多个节点应用程序

我已经在不同的端口上设置了几个节点应用程序(RESTful服务器)(http://本地主机:1337http://本地主机:1338等)。每个 API 必须能够从同一个域和 443 端口访问。对于这种特定情况,您将如何配置 nginx?

这是我的 nginx 配置

# HTTP server

http {

server {
    listen       80;
    server_name  www.example.com;
    return       301 https://$server_name$request_uri;

}

# HTTPS server

server {

    listen       443;
    server_name  www.example.com;
    root         /usr/share/nginx/html;

    ssl                  on;
    ssl_certificate      /etc/x.crt;
    ssl_certificate_key  /etc/x.key;
    ssl_session_timeout  5m;
    ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers  HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers   on;

    location /api1 {

            rewrite /api1(.*)$ $1 break;
            proxy_pass http://127.0.0.1:1337/;

    }

    location /api2 {

              rewrite /api2(.*)$ $1 break;
              proxy_pass http://127.0.0.1:1338/;
    }
}

答案1

最后我发现问题不是由糟糕的 nginx 配置引起的,所以上面的代码应该可以工作,即使我根据此代码片段来自 Github

相关内容