From e92e5bd4765a609fe9ac63b6d8d59f72b5e7ddb1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=EC=B2=9C=20=EC=A7=84=EA=B0=95?= <jjjjjk12@ajou.ac.kr>
Date: Mon, 10 Mar 2025 15:35:31 +0900
Subject: [PATCH] =?UTF-8?q?feat:=20=ED=8F=AC=ED=8A=B8=ED=8F=AC=EC=9B=8C?=
 =?UTF-8?q?=EB=94=A9,=20=EC=98=B5=EC=85=98=20=ED=85=9C=ED=94=8C=EB=A6=BF?=
 =?UTF-8?q?=20=EC=9E=91=EC=84=B1?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../itda/template/ForwardingTemplate.java     | 13 ++++++++++
 .../aolda/itda/template/OptionTemplate.java   | 26 +++++++++++++++++++
 2 files changed, 39 insertions(+)
 create mode 100644 src/main/java/com/aolda/itda/template/ForwardingTemplate.java
 create mode 100644 src/main/java/com/aolda/itda/template/OptionTemplate.java

diff --git a/src/main/java/com/aolda/itda/template/ForwardingTemplate.java b/src/main/java/com/aolda/itda/template/ForwardingTemplate.java
new file mode 100644
index 0000000..8031bff
--- /dev/null
+++ b/src/main/java/com/aolda/itda/template/ForwardingTemplate.java
@@ -0,0 +1,13 @@
+package com.aolda.itda.template;
+
+import org.springframework.stereotype.Component;
+
+@Component
+public class ForwardingTemplate {
+
+    public String getPortForwardingWithTCP(String instanceIp, String serverPort) {
+        return "\nlisten " + serverPort + "; \n" +
+                "listen [::]:" + serverPort + "; \n" +
+                "proxy_pass " + instanceIp + ";\n";
+    }
+}
diff --git a/src/main/java/com/aolda/itda/template/OptionTemplate.java b/src/main/java/com/aolda/itda/template/OptionTemplate.java
new file mode 100644
index 0000000..3e1e92c
--- /dev/null
+++ b/src/main/java/com/aolda/itda/template/OptionTemplate.java
@@ -0,0 +1,26 @@
+package com.aolda.itda.template;
+
+import org.springframework.stereotype.Component;
+
+@Component
+public class OptionTemplate {
+
+    public String getSSL(Long certificateId) {
+        return "\nconf.d/include/letsencrypt-acme-challenge.conf;\n" +
+                "include conf.d/include/ssl-ciphers.conf;\n" +
+                "ssl_certificate /etc/letsencrypt/live/npm-" + certificateId + "/fullchain.pem;\n" +
+                "ssl_certificate_key /etc/letsencrypt/live/npm-" + certificateId + "/privkey.pem;\n";
+    }
+
+    public String getAssetCaching() {
+        return "include conf.d/include/assets.conf;\n";
+    }
+
+    public String getBlockExploits() {
+        return "include conf.d/include/block-exploits.conf;\n";
+    }
+
+    public String getForceSSL() {
+        return "include conf.d/include/force-ssl.conf;\n";
+    }
+}
-- 
GitLab