2017-08-07 9 views
3

私は角度4、春のブートとMysqlで動作します。ローカルでは、すべて正常に動作します。私はリモートサーバであるCentOS 7にデプロイしようとしています。私のウェブサイトにアクセスすると、リモートサーバ上にあるmysqlデータベースからではなく、自分のローカルデータベースからデータを取得します。リモートの春のブートアプリケーションは、私のローカルmysqlにまだ接続しています

私は別のコンピュータで試しましたが、結果は同じです、それはローカルコンピュータからデータを取ります!リモートサーバ(のみ便利なフィールド)に

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:ここ

は私の春のブートのapplication.propertiesファイルです

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データベースはまったく同じ構造を持っている、と同じユーザー名パスワード。

- UPDATE - 提案のため

おかげで、私はfinnallyこの問題を解決しました。それは、SpringとMysqlからではなく、AngularとSpringの間の接続から来ました。

ローカルコンピュータでSpringbootインスタンスが実行されていて、リモートのAngularが接続されていました。 Angularの設定ファイルでapiUrl=localhost:8081apiUrl=<my remote IP>:8081に置き換えて再度展開し、私はポート8081(Springbootのポート)を全員に公開しました。

しかし、正直言って私のSpringbootアプリはすべての人がアクセスでき、Angularアプリでしかアクセスできない必要があるため、この方法は嫌いです。誰かが解決策を持っている場合、この質問はまだ開いています。ありがとう

+0

データソースURLを介して 'localhost'に接続するようjdbcドライバに指示します。したがって、ローカルホストに接続することはまさにそれが行うことです。なぜ何か他のことをしなければならないのですか? –

+0

アプリケーションはリモートサーバーにデプロイされているため、ローカルホストは自分のデバイスではなくリモートサーバーです –

+0

ローカルマシンが(IPまたはホスト名で)参照されていないかどうかを確認しましたか?この時点ですべてである可能性があります。 –

答えて

1

私はあなたがリモートの場所にあなたのデータソースのURLを指す必要があるとは思わないが。例:

database.url=jdbc:mysql://192.168.0.166:3306/yourSchema?characterEncoding\=UTF-8 
database.username=username 
database.password=password 
database.driverClassName=com.mysql.jdbc.Driver 
+0

それは動作しません、問題はまだここに..そして、私はローカルのmysqlには、IPの代わりにローカルホストにアクセスすることが可能だと思う、それは誰にもmysqlポートを開くことを避ける –

関連する問題