feat(est): allow access on configured network address

This commit is contained in:
2026-11-07 11:37:13 +09:00
parent 600d7b0ab1
commit 2bcb8bf9b9
2 changed files with 11 additions and 3 deletions
+2
View File
@@ -1,4 +1,6 @@
## Codex · EST 독립 테스트 앱 (2026-11-04)
- [x] Tailscale 주소에서 독립 테스트 서버 접속 → 접속과 계산 요청 확인.
- 자체 검증: Tailscale IP에서 Edge 화면과 계산 POST 200, 다른 출처 403 확인. 다른 PC에서의 접속은 미확인.
- [x] 표준시장단가 설계변경 내역·증감 화면·출력 구현 → 신규·삭제·연결 변경 시험.
- 자체 검증: 표준 내역의 신규·삭제·연결 변경과 문서 기능 시험 21개 통과. Edge에서 증감·삭제 행·인쇄·내역 이동 확인.
+9 -3
View File
@@ -9,7 +9,8 @@ const exchange = require("./exchange.cjs");
const { exportEstx } = require("./export-estx.cjs");
const jdl = require("./jdl.cjs");
const base = __dirname,
port = Number(process.env.EST_TEST_PORT || 5175);
port = Number(process.env.EST_TEST_PORT || 5175),
host = process.env.EST_TEST_HOST || "127.0.0.1";
const dataDirectory = process.env.EST_TEST_DATA_DIR || path.join(base, "data");
const scripts = [
"native-math.js",
@@ -101,7 +102,12 @@ function list() {
const server = http.createServer(async (req, res) => {
try {
const origin = req.headers.origin;
if (origin && origin !== `http://127.0.0.1:${port}` && origin !== `http://localhost:${port}`) {
if (
origin &&
origin !== `http://127.0.0.1:${port}` &&
origin !== `http://localhost:${port}` &&
origin !== `http://${host}:${port}`
) {
reply(res, 403, { error: "다른 사이트의 요청은 허용하지 않습니다." });
return;
}
@@ -265,5 +271,5 @@ server.on("error", (error) => {
process.exitCode = 1;
});
if (require.main === module)
server.listen(port, "127.0.0.1", () => console.log(`EST 독립 웹앱: http://127.0.0.1:${port}`));
server.listen(port, host, () => console.log(`EST 독립 웹앱: http://${host}:${port}`));
module.exports = { server, calculate };