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

کمک و پشتیبانی => شبکه و سرویس‌ دهنده‌ها => نویسنده: amir133 در 18 امرداد 1400، 06:36 ب‌ظ

عنوان: استفاده از Reverse Proxy در nginx
ارسال شده توسط: amir133 در 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 بیشتر ندارم.

عنوان: پاسخ : استفاده از Reverse Proxy در nginx
ارسال شده توسط: M!lad در 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;
عنوان: پاسخ : استفاده از Reverse Proxy در nginx
ارسال شده توسط: amir133 در 18 امرداد 1400، 09:00 ب‌ظ
بله تشکر ظاهرا تنها راه ، راهی است که شما معرفی کردید
عنوان: پاسخ : استفاده از Reverse Proxy در nginx
ارسال شده توسط: amir133 در 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” ;
        }
}

عنوان: پاسخ : استفاده از Reverse Proxy در nginx
ارسال شده توسط: دانیال بهزادی در 24 امرداد 1400، 02:41 ب‌ظ
اون IIS رو تنظیم کردی که روی این نشونی جواب بده؟
عنوان: پاسخ : استفاده از Reverse Proxy در nginx
ارسال شده توسط: amir133 در 24 امرداد 1400، 04:54 ب‌ظ
آره IIS تنظیم هست