انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید




نویسنده موضوع: استفاده از Reverse Proxy در nginx  (دفعات بازدید: 748 بار)

0 کاربر و 1 مهمان درحال مشاهده موضوع.

آفلاین amir133

  • Newbie
  • *
  • ارسال: 14
استفاده از Reverse Proxy در nginx
« : 18 امرداد 1400، 06:36 ب‌ظ »
سلام
من با کانفیگ زیر در nginx ترافیک را از سرور ۱  به سرور۲  که در شبکه داخلی ام هست انتقال دادم.
server {
listen 80;
        server_name server1.xxxx.ir;
        location / {
              proxy_pass “http://192.168.1.10” ;
        }
}

اما مشکلی که وجود دارد این است که من با کاربران session ایجاد می کنم و آی پی کاربر خیلی برام مهم است. اتفاقی که می افتد برای تمام کاربران آی پی شبکه داخلی سرور اولی(مثلا 192.168.1.9) را نمایش می دهد.

آیا راهی هست که nginx مثلا به عنوان تونل عمل کند و کاربر مستقیم با سرور داخلی در ارتباط باشد و آی پی کاربر بدست من برسد.
یا هر روش دیگری که ارتباط من را با سرور داخلی حفظ و آی پی کاربر هم قابل دسترسی باشد.
البته سرور داخلی من به اینترنت دسترسی دارد ولی من یک Ip static بیشتر ندارم.

« آخرین ویرایش: 18 امرداد 1400، 06:42 ب‌ظ توسط amir133 »

آفلاین M!lad

  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 1757
پاسخ : استفاده از Reverse Proxy در nginx
« پاسخ #1 : 18 امرداد 1400، 07:39 ب‌ظ »
اگر سوال رو درست متوجه شده باشم، در قسمت location نیاز به اعمال یک سری تنظیمات دارید. کافیه این خط رو اضافه کنید:

include /etc/nginx/proxy_params;
می‌تونید مستقیم هم محتوای فایل رو در بخش location وارد کنید ولی من ترجیح می‌دم include کنم. محتوای فایل رو ببینید:

proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
..I feel no fault for the fault I feel..

آفلاین amir133

  • Newbie
  • *
  • ارسال: 14
پاسخ : استفاده از Reverse Proxy در nginx
« پاسخ #2 : 18 امرداد 1400، 09:00 ب‌ظ »
بله تشکر ظاهرا تنها راه ، راهی است که شما معرفی کردید

آفلاین amir133

  • Newbie
  • *
  • ارسال: 14
پاسخ : استفاده از Reverse Proxy در nginx
« پاسخ #3 : 24 امرداد 1400، 01:46 ب‌ظ »
دوستان یک سوال دیگه
من الان reverse proxy رو برای زیر دامنه هام ست کردم و تماما درست کار می کنند.
حالا من می خواهم برای دامنه اصلی این کار را بکنم ولی کار نمی کنه و خود nginx جواب می ده.

در واقع می خواهم درخواست های example.com را به IIS برسونم.

یا اگر بشه یک کار دیگه هم کرد خیلی خوبه
اونم اینکه تمام درخواست های example.com رو به www.example.com تغییر بده.

اگر راهنمایی بفرمایید ممنون می شم.

کد من :

server {
listen 80;
        server_name example.com;
        location / {
              proxy_pass “http://192.168.1.10” ;
        }
}

« آخرین ویرایش: 24 امرداد 1400، 02:36 ب‌ظ توسط دانیال بهزادی »

آفلاین دانیال بهزادی

  • ناظر انجمن
  • *
  • ارسال: 19692
  • جنسیت : پسر
  • Urahara Kiesuke
    • وبلاگ
پاسخ : استفاده از Reverse Proxy در nginx
« پاسخ #4 : 24 امرداد 1400، 02:41 ب‌ظ »
اون IIS رو تنظیم کردی که روی این نشونی جواب بده؟
اگه این ارسال بهت کمک کرد، دنبال دکمهٔ تشکر نگرد. به جاش تو هم به جامعهٔ آزادت کمک کن

آفلاین amir133

  • Newbie
  • *
  • ارسال: 14
پاسخ : استفاده از Reverse Proxy در nginx
« پاسخ #5 : 24 امرداد 1400، 04:54 ب‌ظ »
آره IIS تنظیم هست