| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- if ($_origin_id = '') {
- return 403 'ERROR: origin `$http_origin` is not allowed';
- }
- if ($http_x_jsproxy) {
- return 500 'ERROR: circular dependency';
- }
- proxy_set_header x-jsproxy 1;
- proxy_set_header Connection $http_connection;
- set $_level '';
- set $_switched '';
- set $_url '';
- set $_ver '';
- set $_ref '';
- set $_type '';
- set $_mode '';
- set $_bodyhash '';
- location = /preflight {
- internal;
- access_log off;
- more_set_headers
- 'access-control-allow-origin: *'
- 'access-control-allow-methods: GET,POST,PUT,PATCH,TRACE,DELETE,HEAD,OPTIONS'
- 'access-control-allow-headers: --raw-info,--level,--url,--referer,--cookie,--origin,--ext,--aceh,--ver,--type,--mode,accept,accept-charset,accept-encoding,accept-language,accept-datetime,authorization,cache-control,content-length,content-type,date,if-match,if-modified-since,if-none-match,if-range,if-unmodified-since,max-forwards,pragma,range,te,upgrade,upgrade-insecure-requests,x-requested-with,chrome-proxy,purpose'
- 'access-control-max-age: 1728000'
- ;
- return 204;
- }
- # HTTP(S) Proxy
- location = /http {
- if ($http_access_control_request_headers) {
- rewrite ^ /preflight;
- }
- access_by_lua_file ../lua/http-dec-req-hdr.lua;
- proxy_cache my_cache;
- proxy_pass $_url;
- more_set_headers
- 'server: $upstream_http_server'
- 'content-security-policy'
- 'content-security-policy-report-only'
- 'x-frame-options'
- ;
- header_filter_by_lua_file ../lua/http-enc-res-hdr.lua;
- body_filter_by_lua_file ../lua/http-body-hash.lua;
- }
- # WebSocket Proxy
- location = /ws {
- access_by_lua_file ../lua/ws-dec-req-hdr.lua;
- proxy_pass $_url;
- }
|