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 0000000000000000000000000000000000000000..8031bff5c4ca718f90651810ce8c54f8a784b3e9
--- /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 0000000000000000000000000000000000000000..3e1e92c77efaf1eebec1af4cc1b283255c501a0e
--- /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";
+    }
+}