fix: 获取真实请求ip(解决使用docker部署时,ssr请求无法获取用户真实ip的问题,解决方案:转发astro headers)

This commit is contained in:
2026-07-11 23:54:59 +08:00
parent 4dcee7790b
commit 0b9c253402
4 changed files with 57 additions and 12 deletions

View File

@@ -2,10 +2,12 @@
import Layout from "@/layouts/Layout.astro";
import PostList from "@/components/PostList.astro";
import type {Post} from "@/types/post";
import {http} from "@/lib/request";
import { metadata } from "@/consts.ts";
import {createHttp} from "@/lib/request";
import {metadata} from "@/consts.ts";
const {list,total} = await http.get<ApiPageResponse<Post>>("post", {
const http = createHttp(Astro.request.headers)
const {list, total} = await http.get<ApiPageResponse<Post>>("post", {
searchParams: {
page: 1,
page_size: metadata.postPageSize

View File

@@ -2,7 +2,7 @@
import Layout from "@/layouts/Layout.astro";
import PostList from "@/components/PostList.astro";
import type {Post} from "@/types/post";
import {http} from "@/lib/request";
import {createHttp} from "@/lib/request";
import {metadata} from "@/consts.ts";
const {page} = Astro.params
@@ -11,6 +11,8 @@ if (isNaN(Number(page))) {
return Astro.redirect('/')
}
const http = createHttp(Astro.request.headers)
const {list, total} = await http.get<ApiPageResponse<Post>>("post", {
searchParams: {
page,

View File

@@ -3,7 +3,7 @@ import "github-markdown-css/github-markdown-light.css"
import "@/styles/github-markdown.css"
import Layout from "@/layouts/Layout.astro";
import {http} from "@/lib/request.ts";
import {createHttp} from "@/lib/request.ts";
import {highlightHtmlWithJsdom} from "@/lib/highlight.js";
import {formatDatetime} from "@/lib/format.ts";
import type {Post} from "@/types";
@@ -12,6 +12,8 @@ const {slug} = Astro.params;
let data: Post;
const http = createHttp(Astro.request.headers)
try {
const res = await http.get<ApiResponse<Post>>(`post/${slug}`);
data = res.data