天天看點

SpringBoot websocket Nginx 404已解決

Spring Boot內建Websocket長連接配接,本地配置運作無問題。打包上傳到伺服器出現問題:無法啟動、404。

import org.springframework.context.annotation.Configuration;
import org.springframework.web.socket.server.standard.ServerEndpointExporter;

@Configuration
public class WebSocketConfig {
    
    @Bean 
    public ServerEndpointExporter serverEndpointExporter() {  
        return new ServerEndpointExporter();  
    } 


}
           

無法啟動原因:由于SpringBoot内置tomcat需要以上代碼,使用外置Tomcat需要注釋。

404原因:使用nginx代理需要進行以下配置,否則會報404。

server
    {
        listen       80;
        server_name api.xxx.com;
      
        location / {
                proxy_pass   http://127.0.0.1:8083;
                #websocket 配置
                proxy_connect_timeout 4s;
                proxy_read_timeout 7200s; #超過7200秒(兩小時)内沒通訊則斷連
                proxy_send_timeout 12s;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection "upgrade";
        }
    }

           

繼續閱讀