尝试使用docker容器名称而不是IP地址将 Varnish 添加到nginx中。
我尝试过直接将其添加为set_real_ip_from site-varnish
,但这是行不通的。
尝试添加上游(如下),并尝试了set_real_ip_from varnish_backend
,但没有运气
upstream varnish_backend {
server site-varnish;
}
任何帮助,将不胜感激。我在当前工作的conf下面添加了引用。
upstream fastcgi_backend {
server site-fpm;
}
server {
listen 80;
listen 443 ssl;
server_name localhost;
location = /ping {
set_real_ip_from 192.168.176.2;
real_ip_header X-Forwarded-For;
access_log off;
allow 127.0.0.1;
deny all;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
fastcgi_pass fastcgi_backend;
}
}
docker-compose.yml
version: "2"
services:
site-varnish:
build:
context: ./etc/varnish/
ports:
- 80
networks:
- frontend
site-web:
build:
context: ./etc/nginx/
volumes_from:
- site-appdata
env_file:
- ./global.env
restart: always
networks:
- backend
- frontend
site-fpm:
build:
context: ./etc/7.2-fpm/
ports:
- 9000
volumes_from:
- site-appdata
env_file:
- ./global.env
networks:
- backend
site-appdata:
image: tianon/true
volumes:
- ./html:/var/www/html
networks:
frontend:
external:
name: webproxy
backend:
external:
name: backbone
最佳答案
我已经根据@LinPy的建议将nginx版本更新为> 1.13.1,并且能够直接在conf中使用set_real_ip_from site-varnish
。
关于docker - 使用主机名而不是IP地址将 Varnish 服务器添加到Nginx,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57583189/