| 
					
				 | 
			
			
				@@ -0,0 +1,32 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+package com.tzld.longarticle.recommend.server.web; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.springframework.beans.factory.annotation.Value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.springframework.stereotype.Component; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.springframework.web.filter.OncePerRequestFilter; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import javax.servlet.FilterChain; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import javax.servlet.ServletException; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import javax.servlet.http.HttpServletRequest; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import javax.servlet.http.HttpServletResponse; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.io.IOException; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+@Component 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+public class InternalApiFilter extends OncePerRequestFilter { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Value("${server.management.port:8081}") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private Integer port; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static final String INTERNAL_API_PATH = "/internal"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    protected void doFilterInternal(HttpServletRequest request, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    HttpServletResponse response, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    FilterChain filterChain) throws ServletException, IOException { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (request.getServletPath().startsWith(INTERNAL_API_PATH)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (request.getServerPort() != port) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                response.sendError(HttpServletResponse.SC_FORBIDDEN); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        filterChain.doFilter(request, response); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 |