У меня есть веб-сервер nginx, который действует как прокси для моего блестящего сервера. Теперь я хочу использовать обратный прокси-сервер squid, чтобы предоставить доступ к серверу nginx (и, следовательно, блестящему серверу) для интернет-клиентов. В настоящее время я могу получить доступ к серверу nginx (и, следовательно, к блестящему серверу) через веб-браузер в моей локальной сети.
Моя цель - настроить экземпляры 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
Вам не нужен squid в обратном проксировании режим с nginx, поэтому вам не следует его использовать. Если вы хотите кэшировать все, что исходящий поток дает вашему nginx, вы должны сделать это с помощью nginx ngx_http_proxy_module , настроив, что кэшировать.