1

NodeJS サーバー アプリケーションから MS SQL Server データベースに接続しようとしていますが、localhost/127.0.0.1 を使用してローカル マシンで問題なく動作しているのに、実際のサーバーにプッシュすると認証エラーが発生します。

私が得ているエラーは次のとおりです。

信頼されていないドメインからのログインであり、Windows 認証では使用できません

したがって、おそらく別のドメインだと考えていますが、私のドメインは次のとおりです。

000001.mysubdomain.mydomain.com

ct000002.mysubdomain.mydomain.com

したがって、私はネットワーキングの専門家ではありませんが、この場合、MS SQL Server と NodeJS サーバーの両方が実際には同じドメインにあると思いますが、それは正しいと思いますか?それとも間違っていますか?

いくつかの詳細情報 - どちらの場合も、IP アドレスは同じ最初の番号を共有していますが、残りは異なります - SS.XX.XX.XX - SS は同じ番号で、XX は異なります - これは、それらが実際には異なる番号にあることを示唆していますか?ドメイン?

これに加えて、それがドメインの問題である場合、ローカル マシンで動作するのはなぜですか?

したがって、それがドメインの問題ではないことを排除できる場合、どこに行けばよいかわかりません。これが私のコードです。私は Tedious-NTLM NodeJS モジュールを使用しています - https://www.npmjs.com/package/tedious -ntlm

var tds = require("tedious-ntlm"); //Get the tedious model for NTLM connection to the SQL Server

//Set up config for logging into the DB
var config = {
    userName: 'myusername', //Username
    domainName: "mydomain", //Domain
    password: 'mypassword', //Password
    server: '000001.mysubdomain.mydomain.com' //Database address
};

function getDataFromSQLServer(callback){
    var connection = new tds.Connection(config); //Configure a connection

    //When the database is connected to we get this event
    connection.on('connect', function(err) {
            // If no error, then good to go...
            if(err){
                console.log('err = ' + err); //Log the error to the console
            }
            else{
                executeStatement(callback); //Execute the test statement
            }
        }
    );

ここでわかるように、関数が呼び出されるとエラーがログに記録されます。サーバーからコードを実行しようとするとエラーが発生しますが、ローカル マシンから実行しても問題はありません。

エラーに関する詳細情報を取得するには、次のコードを使用します。

connection.on('errorMessage',  function(err){
        console.log('full error = ' + JSON.stringify(err)); //Log the error to the console
});

これにより、次の情報が得られます。

full error = {"number":18452,"state":1,"class":14,"message":"ログインに失敗しました。信頼されていないドメインからのログインであり、Windows 認証では使用できません。","serverName" :"000001","procName":"","lineNumber":1,"name":"ERROR","event":"errorMessage"}

繰り返しますが、ローカル マシンで実行するとすべて正常に動作しますが、サーバーから実行するとエラーが発生します。これは本当にドメインの問題なのか、それともエラー メッセージが正しくなく、他に何か問題があるのでしょうか?

4

0 に答える 0