我有角4,春季引導和MySQL的。在當地,一切正常。我嘗試在遠程服務器上部署一個Centos 7.除了當我訪問我的網站時,它從我的本地數據庫獲取數據,而不是從位於遠程服務器上的mysql數據庫獲取數據。遠程啓動春季依然應用程序連接到我的本地MySQL
我嘗試另一臺計算機上,結果是一樣的,它從本地計算機獲取數據!
這裏是我的春天啓動的application.properties文件:
server.port = 8081
spring.datasource.url=jdbc:mysql://localhost:3306/mydb?autoReconnect=true&useSSL=false
spring.datasource.username=username
spring.datasource.password=password
netstat -tln
遠程服務器(只有有用的字段)上:
Proto Recv-Q Send-Q local address remote address State
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN
tcp6 0 0 :::8081 :::* LISTEN
MySQL數據庫具有完全相同的結構,同樣用戶名密碼。
- 更新 -
感謝的建議,我finnally解決了這個問題。它來自Angular和Spring之間的連接,而不是來自Spring和Mysql。
一個Springboot實例是在我的本地計算機上運行,並且遠程角連接到它。在Angular的配置文件中,我將apiUrl=localhost:8081
替換爲apiUrl=<my remote IP>:8081
,再次部署,我向所有人開放了端口8081(Springboot的端口),現在它運行良好。
不過說實話,因爲我Springboot APP被任何人訪問,我不喜歡這種方法,而它只需通過角應用訪問。如果有人有解決方案,這個問題仍然是開放的。由於
你是告訴你的jdbc驅動程序通過數據源url連接到'localhost'。因此連接到本地主機正是它會做的。爲什麼它應該做別的事? –
應用程序是部署在遠程服務器上,因此本地主機是遠程服務器,而不是我自己的設備 –
你檢查你的代碼,如果你的本地計算機不被引用(通過IP或主機名)anyhwere?在這一點上可能是一切。 –