Linux + SpringBoot + Netty-SocketIo
前言
最近專案在升級為 https ,先把一些常規的模組(頁面,服務等部署在 tomcat 中的)升級了,利用 ssl 證照透過 tomcat 重定向到 443(預設) 埠就解決了,但是有一個 springboot 寫的 netty-socketio 的聊天服務也要升級,剛開始思路錯了以為也要 tomcat 重定向埠,折騰了半天不行;最後看到一篇文章只是在 socketio 的 configuration 中設定證照引數就行了⊙﹏⊙‖∣,因為踩了坑所以記錄一下,以備不時之需。
這裡預設已經有一個用 springboot 寫好的 netty-socketio 專案了(網上有很多),並且有一個 jks 型別的證照檔案(如何獲得網上也有很多)
然後才開始配置 https。
一、將證照檔案(jks)複製到 springboot 專案的 resource 目錄下
二、不用修改任何檔案,只是在 socketio 的 configuration 中設定證照
修改前:
@Bean(name = "configuration")
public com.corundumstudio.socketio.Configuration getCofiguration() {
com.corundumstudio.socketio.Configuration config = new com.corundumstudio.socketio.Configuration();
//伺服器主機ip,這裡配置本機
config.setHostname("172.18.211.50");
// config.setHostname("192.168.3.88"); // 本機
// config.setHostname("120.78.145.39");
// System.out.println(setHostname);
//埠,任意
config.setPort(9108);
config.setMaxFramePayloadLength(1024 * 1024);
config.setMaxHttpContentLength(1024 * 1024);
return config;
}
修改後:
@Bean(name = "configuration")
public com.corundumstudio.socketio.Configuration getCofiguration() {
com.corundumstudio.socketio.Configuration config = new com.corundumstudio.socketio.Configuration();
//伺服器主機ip,這裡配置本機
config.setHostname("172.18.211.50");
// config.setHostname("192.168.3.88"); // 本機
// config.setHostname("120.78.145.39");
// System.out.println(setHostname);
//埠,任意
config.setPort(9108);
config.setMaxFramePayloadLength(1024 * 1024);
config.setMaxHttpContentLength(1024 * 1024);
InputStream resourceAsStream = this.getClass().getResourceAsStream("/chuniaoedukey.jks"); // 讀取證照檔案流
config.setKeyStore(resourceAsStream); // 設定證照檔案
config.setKeyStorePassword("cqrrkj2020"); // 設定證照密碼
return config;
}
三、linux 部署 springboot 專案
# 設定輸出目錄 啟動 springboot jar
nohup java -jar xxx.jar > catalina.out 2>&1 &
最後,透過 (虛擬的域名,改成自己的) 連線就行了,以前是連線 ,注意直接瀏覽器訪問會報400的錯誤因為這是 socketio 監聽的埠不能直接以介面的形式對其訪問,只能用 socketio 客戶端進行測試驗證。
總結
netty-socketio 服務與其他的介面服務有些異同,不能透過 tomcat 轉發埠的形式進行 https 訪問,但是 netty-socketio 內部對 https 支援,直接簡單設定證照資訊就能實現。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4830/viewspace-2825828/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 使用springboot對linux進行操控Spring BootLinux
- SpringBoot本地打包釋出到Linux伺服器Spring BootLinux伺服器
- Springboot 在 Linux 中打包 Jar 包在後臺執行Spring BootLinuxJAR
- springboot的jar在linux上sh啟動指令碼Spring BootJARLinux指令碼
- Linux伺服器下執行SpringBoot HelloWorldDemo(Mac篇)Linux伺服器Spring BootMac
- Linux下部署springboot專案的步驟及過程LinuxSpring Boot
- SpringBoot(19)---SpringBoot整合ApolloSpring Boot
- SpringBoot(17)---SpringBoot整合RocketMQSpring BootMQ
- SpringBoot(十六)_springboot整合JasperReSpring Boot
- springboot----二、Hello,SpringBoot!Spring Boot
- springboot(十三):springboot小技巧Spring Boot
- SpringBoot之路(一)之初識SpringBootSpring Boot
- SpringBoot之:SpringBoot中使用HATEOASSpring Boot
- springboot自學(6)springboot核心原理Spring Boot
- springbootSpring Boot
- SpringBoot:結合 SpringBoot 與 Grails 3Spring BootAI
- 【SpringBoot系列】SpringBoot註解詳解Spring Boot
- SpringBoot之:SpringBoot的HATEOAS基礎Spring Boot
- SpringCloud微服務之部署SpringBoot專案至Linux伺服器(CentOS)GCCloud微服務Spring BootLinux伺服器CentOS
- 企業 SpringBoot 教程(六)springboot整合mybatisSpring BootMyBatis
- 【SpringBoot2.0系列09】SpringBoot之rabbiSpring Boot
- springboot(七):springboot+mybatis多資料Spring BootMyBatis
- SpringBoot | 2.1 SpringBoot自動裝配原理Spring Boot
- SpringBoot-SpringBoot中的事件機制Spring Boot事件
- 開始SpringBoot的學習&springboot概述Spring Boot
- springboot(十二):springboot如何測試打包部署Spring Boot
- SpringBoot整合Mybatis-Plus(SpringBoot3)Spring BootMyBatis
- SpringBoot 技巧Spring Boot
- springboot配置Spring Boot
- springboot 配置Spring Boot
- SpringBoot(一)Spring Boot
- springboot 工具Spring Boot
- SpringBoot | SpringBoot 是如何實現日誌的?Spring Boot
- SpringBoot資料訪問(一) SpringBoot整合MybatisSpring BootMyBatis
- SpringBoot資料訪問(二) SpringBoot整合JPASpring Boot
- SpringBoot資料訪問(三) SpringBoot整合RedisSpring BootRedis
- _007_SpringBoot_SpringBoot的核心檔案Spring Boot
- 【Elastic-2】SpringBoot整合ELK、SpringBoot寫ESASTSpring Boot