Fais Lonelyman yang bergantung pada kehidupan cyber nya

Konfigurasi Trusted Proxy

1 Men-bac

Penggunaan proxy sangat berguna untuk melakukan caching dan penyeimbang (balancer) arus oleh penyedia layanan kamu kamu dapat melakukan instalasi Trusted Proxy

Cara install :

Install Trusted Proxy:

$ composer require fideloper/proxy

Tambahkan ke Service Provider:

'providers' => array(
# other providers omitted
'Fideloper\Proxy\TrustedProxyServiceProvider',
);

Publish konfigurasi paket tersebut di config/trustedproxy.php:

$ php artisan vendor:publish --provider="Fideloper\Proxy\TrustedProxyServiceProvider"

Lanjut dengan mendaftarkan HTTP Middleware di file app/Http/Kernel.php:

protected $middleware = [
// Illuminate middlewares omitted for brevity

'Fideloper\Proxy\TrustProxies',

Kemudian modifikasi hasil publikasi tadi di config/trustedproxy.php sesuai kebutuhan.

Masukkan daftar Trust proxy, seperti load balancer atau cache web, di alamat IP 192.168.10.10:

<!--?php return [ 'proxies' => [<br ?--> '192.168.10.10',
],

// Konfigurasi sudah terpasang di config:
'headers' => [
(defined('Illuminate\Http\Request::HEADER_FORWARDED') ? Illuminate\Http\Request::HEADER_FORWARDED : 'forwarded') => 'FORWARDED',
\Illuminate\Http\Request::HEADER_CLIENT_IP => 'X_FORWARDED_FOR',
\Illuminate\Http\Request::HEADER_CLIENT_HOST => 'X_FORWARDED_HOST',
\Illuminate\Http\Request::HEADER_CLIENT_PROTO => 'X_FORWARDED_PROTO',
\Illuminate\Http\Request::HEADER_CLIENT_PORT => 'X_FORWARDED_PORT',
]
];

Tambahan: Jika menggunakan AWS Elastic Load Balancing atau Heroku, FORWARDED and X_FORWARDED_HOST header harus di set null karena aplikasi tidak support .

<!--?php return [ 'proxies' => [<br ?--> '192.168.10.10',
],

// Konfigurasi sudah terpasang di config:
'headers' => [
(defined('Illuminate\Http\Request::HEADER_FORWARDED') ? Illuminate\Http\Request::HEADER_FORWARDED : 'forwarded') => null,
\Illuminate\Http\Request::HEADER_CLIENT_IP => 'X_FORWARDED_FOR',
\Illuminate\Http\Request::HEADER_CLIENT_HOST => null,
\Illuminate\Http\Request::HEADER_CLIENT_PROTO => 'X_FORWARDED_PROTO',
\Illuminate\Http\Request::HEADER_CLIENT_PORT => 'X_FORWARDED_PORT',
]
];

Kenapa harus pakai Proxy ?

If your site sits behind a load balancer, gateway cache or other “reverse proxy”, each web request has the potential to appear to always come from that proxy, rather than the client actually making requests on your site.
Jika situs kalian menggunakan load balancer, cache gateway, atau “reserve proxy” lainnya, setiap permintaan web akan selalu berasal proxy tersebut, daripada pengguna mengakses langsung ke VPS kalian dan membantu peforma .

Mengubah X-Forwarded-* nama Header

Secara default Symphoni menggunakan Request class terhadap beberapa header proxy:

  • X-Forwarded-For
  • X-Forwarded-Host
  • X-Forwarded-Proto
  • X-Forwarded-Port

Beberapa proxy mungkin mengirim dengan header yang berbeda beda. dalam kasus itu mungkin kamu dapat menggunakan Class Request dari Symfony sesuai dengan nama headernya
Contohnya, HAProxy mungkin menjadi X-Forwarded-Scheme ketimbang X-Forwarded-Proto. Kita dapat merubahnya dengan menggunakan class Request tersebut di:

<!--?php return [ 'headers' => [<br ?--> Illuminate\Http\Request::HEADER_CLIENT_PROTO => 'X_FORWARDED_SCHEME',
]

];

Bim sala bim, project kita sekarang dapat membaca header X-Forwarded-Scheme.

Beberapa layanan penyedia proxy ada yang tidak support , jadi ubah ke null untuk untrust proxy tersebut. Contohnya, AWS ELB and Heroku ga support FORWARDED dan X_FORWARDED_HOST jadi kita harus ubah ke null untuk mencegah aksi pengguna Spoof IP.

<!--?php return [ 'headers' => [<br ?--> (defined('Illuminate\Http\Request::HEADER_FORWARDED') ? Illuminate\Http\Request::HEADER_FORWARDED : 'forwarded') => null,
\Illuminate\Http\Request::HEADER_CLIENT_IP => 'X_FORWARDED_FOR',
\Illuminate\Http\Request::HEADER_CLIENT_HOST => null,
\Illuminate\Http\Request::HEADER_CLIENT_PROTO => 'X_FORWARDED_PROTO',
\Illuminate\Http\Request::HEADER_CLIENT_PORT => 'X_FORWARDED_PORT',
]

];

Dan juga jangan lupa setelah update paket dan allow pada port proxy VPS masing masing kamu

Fais Lonelyman yang bergantung pada kehidupan cyber nya

Instalasi ReamJS

Fais
19 Det-Bac

Membuat Package Laravel

Fais
2 Men-bac