如何将 Squid 反向代理与 Shiny-Server 的 Nginx 代理结合起来

如何将 Squid 反向代理与 Shiny-Server 的 Nginx 代理结合起来

我有一个 nginx Web 服务器,它充当我的 shiny-server 的代理。我现在想使用 squid 反向代理为互联网客户端提供对 nginx 服务器(以及 shiny 服务器)的访问。目前,我可以通过本地网络上的 Web 浏览器访问 nginx 服务器(以及 shiny-server)。

我的目标是配置 Squid 和 Nginx 实例,以便它们可以在它们之间传递流量。

nginx.conf(为简洁起见,已编辑):

server {
    listen       80 default_server;
    return       301 https://$host$request_uri;
}

server {

    listen       443 ssl http2 default_server;
    listen       [::]:443 ssl http2 default_server;
    server_name  _;
    root         /path/to/server/directory;

    # Load configuration files for the default server block.
    include /etc/nginx/default.d/*.conf;

    location / {
        proxy_pass http://localhost:3838;
        proxy_redirect / $scheme://$http_host/;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection $connection_upgrade;
        proxy_read_timeout 20d;
        proxy_buffering off;
    }
}

squid.conf(为简洁起见已编辑):

cache_peer shiny.domain.com parent 80 0 no-query originserver name=shinyHost login=PASS
acl shinyACL dstdomain shiny.domain.com
cache_peer_access shinyHost allow shinyACL
http_access allow shinyACL

答案1

您不需要在 nginx 中使用反向代理模式的 squid,因此您不应该使用它。如果您想缓存上游提供给 nginx 的任何内容 - 您应该使用 nginxngx_http_proxy_module通过配置要缓存的内容。

相关内容