首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Nginx反向代理重定向次数过多

Nginx反向代理重定向次数过多
EN

Stack Overflow用户
提问于 2020-09-17 11:24:21
回答 1查看 207关注 0票数 1

我有一个带有MySQL和Meilisearch的debian服务器,我想使用Nginx作为未来负载平衡的反向代理,并具有TLS安全性。

我正在跟随Meilisearch's Documentation设置Nginx与Meilisearch,并让加密成功,但他们强制Nginx代理所有的端口7700,我想代理到3306为MySQL,7700为Meilisearch,80为一个错误页面或备用web服务器。但是在修改/etc/nginx/nginx.conf之后,网站重新加载的次数太多了。

这是我在/etc/nginx/nginx.conf上尝试的配置

代码语言:javascript
运行
复制
user www-data;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;

stream {

    upstream mysql {
            server 127.0.0.1:3306;
    }

    upstream meilisearch {
            server 127.0.0.1:7700;
    }

    server {
            listen 6666;
            proxy_pass mysql;
    }

    server {
            listen 9999;
            proxy_pass meilisearch;
    }
}

http {

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

        server_name example.com;

        return 301 https://\$server_name$request_uri;
  }

  server {
      server_name example.com;

      location / {
          proxy_pass  http://127.0.0.1:80;
      }

      listen [::]:443 ssl ipv6only=on;
      listen 443 ssl;

      # ssl_certificate managed by Certbot
      # ssl_certificate_key managed by Certbot
   }

}

唯一的区别是我的域替换了example.com,该域已经设置为重定向到服务器ip。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-17 22:48:13

正如ippi所指出的,在这种特殊情况下,没有必要反向代理MySQL。

我按照Meilisearch文档的建议使用了proxy_pass http://127.0.0.1:7700

对于未来的DB负载平衡,我会使用MySQL集群,并在另一个代理所有东西的Nginx实现上向他们指出。HTTPS到web服务器,DB访问集群列表等)。

此外,在这种特殊情况下,我实际上并不需要到数据库的加密连接,但如果我需要它们,我会使用MySQL中的自签名证书和网站的CA证书,因为我的前端与一个“中央”Nginx代理进行通信,该代理可以加密后端服务器和代理之间的通信。

如果我真的想为MySQL使用“让我们加密证书”,我已经找到了一个很好的recipe,但我没有复制粘贴证书(这很痛苦),而是将“让我们加密证书”目录挂载到MySQL中,并使用chown将权限更改为600。但话又说回来,这可能是不好的做法,最好像它自己的文档所建议的那样,对MySQL使用自签名证书。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63930789

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档