mirror of
https://github.com/sussy-code/sudo-proxy.git
synced 2026-01-11 20:10:18 +00:00
remove cf internal headers before proxying
This commit is contained in:
parent
714b91ef8c
commit
f890f59d43
2 changed files with 28 additions and 1 deletions
|
|
@ -1,4 +1,8 @@
|
|||
import { getProxyHeaders, getAfterResponseHeaders } from '@/utils/headers';
|
||||
import {
|
||||
getProxyHeaders,
|
||||
getAfterResponseHeaders,
|
||||
cleanupHeadersBeforeProxy,
|
||||
} from '@/utils/headers';
|
||||
|
||||
export default defineEventHandler(async (event) => {
|
||||
// handle cors, if applicable
|
||||
|
|
@ -16,6 +20,7 @@ export default defineEventHandler(async (event) => {
|
|||
});
|
||||
|
||||
// proxy
|
||||
cleanupHeadersBeforeProxy(event);
|
||||
await proxyRequest(event, destination, {
|
||||
fetchOptions: {
|
||||
redirect: 'follow',
|
||||
|
|
|
|||
|
|
@ -1,3 +1,13 @@
|
|||
import { H3Event } from 'h3';
|
||||
|
||||
const blacklistedHeaders = [
|
||||
'cf-connecting-ip',
|
||||
'cf-worker',
|
||||
'cf-ray',
|
||||
'cf-visitor',
|
||||
'cf-ew-via',
|
||||
];
|
||||
|
||||
function copyHeader(
|
||||
headers: Headers,
|
||||
outputHeaders: Headers,
|
||||
|
|
@ -44,3 +54,15 @@ export function getAfterResponseHeaders(
|
|||
'X-Final-Destination': finalUrl,
|
||||
};
|
||||
}
|
||||
|
||||
export function removeHeadersFromEvent(event: H3Event, key: string) {
|
||||
const normalizedKey = key.toLowerCase();
|
||||
if (event.node.req.headers[normalizedKey])
|
||||
delete event.node.req.headers[normalizedKey];
|
||||
}
|
||||
|
||||
export function cleanupHeadersBeforeProxy(event: H3Event) {
|
||||
blacklistedHeaders.forEach((key) => {
|
||||
removeHeadersFromEvent(event, key);
|
||||
});
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue