ورود

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : نصب Varnish Cache با NGINX



Cr0w
November 27th, 2017, 11:42
سلام من از nginx HTTP/2 استفاده میکنم .

HTTP به HTTPS از طریق ریدایرکت 302 صورت میگیره .

VARNISH رو قبلا نصب کردم ولی تا جایی که یادم میاد خطای 500 میداد و به هیچ سراطی مستقیم نبود .
مشکل هم این بود که nginx به صورت پیشفرض روی port 80 اجرا میشد .

server {


server_name mysite.com www.mysite.com; (http://www.mysite.com;)
return 302 https://$server_name$request_uri;
}


server {
listen 443 ssl http2;
server_name mysite.com www.mysite.com; (http://www.mysite.com;)

به سرور اولی دقت کنید زمانی که فراخوانی میشه به صورت دیفالت پورت 80 listen میشه .
هیچ کاریشم نمیشه کرد . حتی اگر پورت listen رو براش تعریف کنی وقتی grep میکنی باز هم روی 80 ران هست .
تگ سرور رو هم بخوای برداری هم که احمقانه است .

دوستان نظری ندارند ؟

اگر مقاله ای برای نصب varnish سراغ دارند معرفی کنند که چنین مشکلی رو پوشش میده .

RealHAM
November 27th, 2017, 11:54
سلام
varnish از چه بک اندی باید دیتا بگیرید و به چه فرانتی باید بدهد ؟

Cr0w
November 27th, 2017, 20:29
در پست اولی عرض کردم از nginx به nginx

لازم به ذکره هر کار هم که میکنم پورت بک اند به 8080 تغییر نمیکنه و 80 رو listen میکنه . پیشفرض هست

RealHAM
November 27th, 2017, 22:02
خوب
بلاک اول که تعریف کردید که کار هدایت را انجام می دهد، هیچ.
یک بلاک جدید تعریف کنید و پورت ۸۰۸۰ را به آن بدهید.
در varnish از پورت ۸۰۸۰ دیتا را بگیرید و از پورتی مثلاً ۸۰۸۱ دیتا را خارج کنید.
در nginx و بلاک اس اس ال با پورت ۴۴۳ از خاصیت ریورس پ روکسی استفاده کنید و دیتا را از ۸۰۸۱ بگیرید و به کاربر بدهید

Cr0w
November 29th, 2017, 13:32
خود Varnish رو که در 80 ران میکنم سر راه nginx ، به مشکل میخورم بلاک جدید هم 8080 تعریف کردم ولی nginx باز هم روی 80 ران میشه . و خطا دریافت میکنم
VARNISH_LISTEN_PORT

منظورم هست !

RealHAM
November 29th, 2017, 16:34
خود Varnish رو که در 80 ران میکنم سر راه nginx ، به مشکل میخورم بلاک جدید هم 8080 تعریف کردم ولی nginx باز هم روی 80 ران میشه . و خطا دریافت میکنم
VARNISH_LISTEN_PORT

منظورم هست !
مهندس وارنیش را با پورت ۸۰۸۱ ران کنید

alimosavi
November 29th, 2017, 17:31
دلیل خاصی برای استفاده از varnish و nginx نیست اما اپر حتما اصرار دارید دلیلی نداره شما پورت nginx رو تغییر بدید بازم عوض نشه کانفینگتون رو چگ کنید . مخصوصا default.conf که پرت 80 هست یا نه . تنظیمات اصلی nginx.conf رو هم بررسی کنید .

Cr0w
December 1st, 2017, 00:17
مهندس وارنیش را با پورت ۸۰۸۱ ران کنید

طبق فرمایش شما :

VARNISH_LISTEN_PORT : 8081
یک بلاک با listen از 8080 در nginx ایجاد شد.
***** pass هم از 8081 به 443 تنظیم شده .
ولی صفحه اصلی public ip رو نشون میده

- - - ویرایش شد - - -

server {
server_name mysite.net www.mysite.net;
return 302 https://$server_name$request_uri;
}

server {
listen 8080;
server_name mysite.net www.mysite.net;
return 302 https://$server_name$request_uri;
set_real_ip_from 127.0.0.1;
real_ip_header X-Forwarded-For;
real_ip_recursive on;
}

# ***** Pass ( dar location /)

*****_pass http://127.0.0.1:8081;
*****_set_header X-Real-IP $remote_addr;
*****_set_header X-Forwarded-For $*****_add_x_forwarded_for;
*****_set_header X-Forwarded-Proto https;
*****_set_header X-Forwarded-Port 443;
*****_set_header Host $host;

##############Varnish#################


# Default backend definition. Set this to point to your content server.
backend default {
.host = "127.0.0.1";
.port = "8080";
}


VARNISH_LISTEN_PORT=8081

RealHAM
December 1st, 2017, 08:59
دقیقاً نمی‌دانم مشکل از کجاست اما در صورت تمایل می‌توانم تنظیمات شما را بررسی و تعمیر نمایم