Код: Выделить всё
# ===== Stage 1: Build with Maven =====
FROM maven:3.8.5-openjdk-8 AS builder
WORKDIR /app
# Copy pom.xml and download dependencies first (better cache)
COPY pom.xml .
RUN mvn dependency:go-offline -B
# Copy source and build WAR
COPY src ./src
RUN mvn -B clean package -DskipTests
# ===== Stage 2: Tomcat runtime =====
FROM openjdk:8-jdk-alpine
# Install wget and unzip
RUN apk add --no-cache wget bash tar
# Set Tomcat environment
ENV TOMCAT_VER=9.0.80
ENV CATALINA_HOME=/usr/local/tomcat
ENV PATH=$CATALINA_HOME/bin:$PATH
# Download Tomcat from archive (since 9.0.80 is old)
RUN wget https://archive.apache.org/dist/tomcat/tomcat-9/v$TOMCAT_VER/bin/apache-tomcat-$TOMCAT_VER.tar.gz \
&& mkdir -p $CATALINA_HOME \
&& tar xzf apache-tomcat-$TOMCAT_VER.tar.gz -C $CATALINA_HOME --strip-components=1 \
&& rm apache-tomcat-$TOMCAT_VER.tar.gz
# Fix Tomcat port to use Render's PORT environment variable
RUN sed -i "s/port=\"8080\"/port=\"${PORT:-10000}\"/" $CATALINA_HOME/conf/server.xml
# Copy WAR from builder stage
COPY --from=builder /app/target/IssuesandDeploymentTracker-0.0.1-SNAPSHOT.war $CATALINA_HOME/webapps/ROOT.war
# Expose Tomcat port
#EXPOSE 8080
# Run Tomcat
CMD ["catalina.sh", "run"]
@WebFilter("/*")
public class CorsFilter implements Filter {
public CorsFilter() {
super();
System.out.println(">>> CorsFilter constructor loaded, class = " + this.getClass().getName());
}
public void destroy() {
}
public void doFilter(ServletRequest request, ServletResponse resp, FilterChain chain)
throws IOException, ServletException {
HttpServletResponse response = (HttpServletResponse) resp;
HttpServletRequest req = (HttpServletRequest) request;
System.out.println("CorsFilter hit for: " + req.getRequestURI());
response.setHeader("Access-Control-Allow-Origin","https://issues-deployment-tracker.vercel.app");
response.setHeader("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS");
response.setHeader("Access-Control-Allow-Headers", "Content-Type, Authorization");
// Handle preflight immediately
if ("OPTIONS".equalsIgnoreCase(req.getMethod())) {
response.setStatus(HttpServletResponse.SC_OK);
return;
}
// pass the request along the filter chain
chain.doFilter(request, response);
}
/**
* @see Filter#init(FilterConfig)
*/
public void init(FilterConfig fConfig) throws ServletException {
// TODO Auto-generated method stub
}
}
< /code>
Я использовал hibernate, postgres for prod, maven build.
** Это мой pom.xml для ссылки: **
yes URL -адреса, используемые на фронте, для отправки запросов также верны. Моя служба рендеринга идет вживую, но ничего не получает. Нет журналов, кроме здоровья. Я отправил Томкат в порт 10000 на рендеринге. Запросы даже не попадают в сервлеты забудьте забудьте. Использование аннотаций в настоящее время. Нет весны, просто просто сброс, JPA DAOS и Сервлеты.
Я не пробовал с прокси в следующем конфигура>
Подробнее здесь: https://stackoverflow.com/questions/797 ... cors-error
Мобильная версия