net::ERR_SSL_PROTOCOL_ERROR:React调用Spring Boot后端失败求助
我在Droplet上部署了React前端应用与Java Spring Boot后端应用,同时运行配置了SSL证书的Nginx服务器。目前前端无法调用后端,已尝试修改URL为域名、更换不同端口,也在前端调用和后端CorsRegistry中分别尝试了HTTP与HTTPS协议。由于前后端在同一Droplet上,本以为连接应该很简单,但实际遇到了很大困难。
后端WebConfig配置
public class WebConfig implements WebMvcConfigurer { @Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/**") .allowedOrigins("https://www.pligtlisten.dk", "http://localhost:3000") .allowedMethods("GET", "POST", "PUT", "DELETE") .allowCredentials(true); } }
docker-compose文件
version: '3.8' services: web: build: context: . dockerfile: Dockerfile ports: - "80:80" - "443:443" volumes: - /etc/letsencrypt/live/www.pligtlisten.dk/fullchain.pem:/etc/letsencrypt/live/www.pligtlisten.dk/fullchain.pem:ro - /etc/letsencrypt/live/www.pligtlisten.dk/privkey.pem:/etc/letsencrypt/live/www.pligtlisten.dk/privkey.pem:ro restart: unless-stopped
Dockerfile
FROM node:18-alpine AS build WORKDIR /app COPY package*.json ./ RUN npm install COPY . . RUN npm run build FROM nginx:alpine COPY --from=build /app/build /usr/share/nginx/html COPY nginx.conf /etc/nginx/conf.d/default.conf EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]
Nginx服务器配置
server { listen 80; server_name www.pligtlisten.dk pligtlisten.dk; return 301 https://www.pligtlisten.dk$request_uri; } server { listen 443 ssl; server_name www.pligtlisten.dk pligtlisten.dk; ssl_certificate /etc/letsencrypt/live/www.pligtlisten.dk/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/www.pligtlisten.dk/privkey.pem; ssl_protocols TLSv1.2 TLSv1.3; ssl_prefer_server_ciphers on; ssl_ciphers EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH; add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always; location / { root /usr/share/nginx/html; index index.html index.htm; try_files $uri $uri/ /index.html; } }
当前前端调用后端的URL配置
export const BASE_URL = "https://161.35.196.6:8080"; export const GOOGLE_ACCOUNT_ENDPOINT = `${BASE_URL}/googleAccount`; export const POINT_SCORE_ENDPOINT = `${BASE_URL}/pointScore`;
内容的提问来源于stack exchange,提问作者TheEagle
相关产品推荐
相关产品推荐

