-
Notifications
You must be signed in to change notification settings - Fork 196
Fetch: added forward proxy support with HTTPS tunneling. #976
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
438861e
to
fb71984
Compare
3009f25
to
8ee857b
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Technically looks good, except for few comments.
May be it would be good discuss solution with Ivan, because it is bit different from #956
793f453
to
0d834f7
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Couple minor comments, otherwise looks good to me.
Supports Basic authentication via Proxy-Authorization header. - js_fetch_proxy - configures forward proxy URL. It takes proxy URL as a parameter. The URL may optionally contain user and password. Parameter value can contain variables. If value is empty, forward proxy is disabled. example.conf: ... http { js_import main.js; server { listen 8080; resolver 127.0.0.1:5353; location /api { js_fetch_proxy http://user:pass@proxy.example.com:3128; js_content main.fetch_handler; } } } This implements nginx#956 feature request on Github.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good
This patch adds forward proxy support to the ngx.fetch() method in njs, enabling HTTP and HTTPS requests through a proxy server with optional
authentication.
Key Features:
New Directives:
Example nginx.conf:
JavaScript usage: