我有一个 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通过配置要缓存的内容。