このトピックでは、ECS (Elastic Compute Service) インスタンスでサードパーティソフトウェアを設定および使用するときに発生する可能性のある一般的な問題について説明し、対応するソリューションを提供します。
MySQLの問題
インスタンスのMySQLをインストールしてログオンした後、インスタンスにデプロイされたMySQLに接続するときに、「ユーザー 'root' @ '****' の1045アクセスが拒否された (パスワードを使用: はい) 」というエラーメッセージが表示された場合はどうすればよいですか?
問題の内容
ECSインスタンスにMySQLをインストールしてログインした後、正しいユーザー名とパスワードを使用してリモートIPアドレスからMySQLに接続すると、次のエラーメッセージが表示されます。1045-アクセスはユーザー 'root' @ '****' (パスワード: はい) で拒否されます。
原因
ECSインスタンスにMySQLをインストールすると、MySQLはローカルIPアドレスからのログオンのみを許可し、リモートIPアドレスからのログオンは許可しません。
解決策
リモートIPアドレスからMySQLへのログオンを許可するには、次の手順を実行します。
ECS インスタンスに接続します。
詳細については、「ECSインスタンスへの接続方法」をご参照ください。
MySQLにログインし、次のSQL文を実行して、MySQLのリモートログオン権限をrootユーザーに付与します。
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
説明上記のSQLステートメントを実行すると、ルートユーザーはすべてのIPアドレスからMySQLにログインし、MySQLデータベースのオブジェクトに対して操作を実行できます。
次の表に、SQL文のパラメーターを示します。
パラメーター
説明
*.*
最初のアスタリスク (*) はデータベースプレースホルダーです。
*
を指定した場合、このパラメーターはすべてのデータベースを指定します。 2番目のアスタリスク (*) は、データベーステーブルのプレースホルダーです。*
を指定した場合、このパラメーターはデータベース内のすべてのテーブルを指定します。'root' @ '%'
rootは、ログイン権限が付与されるデータベースアカウントです。 パーセント記号 (%) はIPアドレスのプレースホルダーです。 たとえば、
1.1.1.1
IPアドレスのみをデータベースにログインする場合は、%
を1.1.1.1
に変更します。%
を指定した場合、このパラメーターはすべてのIPアドレスがログオンできるように指定します。権限を更新するには、次のSQL文を実行します。
flush privileges;
MySQLに再接続します。 問題が解決した場合、上記のエラーメッセージは表示されません。
Linux ECSインスタンスでMySQLに接続できず、「エラー2003 (HY000): '39.106.**.** ' (110) でMySQLサーバーに接続できません」というエラーメッセージが表示された場合はどうすればよいですか?
問題の内容
Linux ECSインスタンスでMySQLに接続できず、次のエラーメッセージが表示されます。error 2003 (HY000): '39.106.**.** ' (110) でMySQLサーバーに接続できません。
原因
上記の問題は、Linux ECSインスタンスのポート3306がリスニング状態でないために発生する可能性があります。 その結果、インスタンスの39.106.**.**
IPアドレスはMySQLにアクセスできません。
解決策
MySQLがインストールされているLinux ECSインスタンスに接続します。
詳細については、「パスワードまたはキーを使用したLinuxインスタンスへの接続」をご参照ください。
次のコマンドを実行して、
my.cn f
設定ファイルをバックアップします。cp my.cnf my.cnf.bak
my.cn f
設定ファイルを変更します。次のコマンドを実行して、
my.cn f
設定ファイルを開きます。vim /etc/my.cnf
i
キーを押して挿入モードに入り、次の内容をmy.cn f
ファイルに追加します。bind-address = 0.0.0.0
次の図は、コンテンツの追加場所を示しています。
Esc
キーを押して挿入モードを終了し、:wq
と入力し、enter
キーを押してファイルを保存して閉じます。
次のコマンドを実行してMySQLを再起動し、ポート3306がリスニング状態であることを確認します。
/etc/init.d/mysqld restart
ファイルアップロードの問題
非常に安全なFTP (VSFTP) を使用してファイルをLinuxインスタンスにアップロードできないときに「553がファイルを作成できませんでした」というエラーメッセージが表示された場合はどうすればよいですか?
問題の内容
VSFTPを使用してLinux ECSインスタンスにファイルをアップロードすることはできません。また、「553がファイルを作成できません」というエラーメッセージが表示されます。
発生原因
上記の問題は、次の理由で発生する可能性があります。
Linuxインスタンスのディスク容量がいっぱいです。
FTP
ホーム
ディレクトリの書き込み
権限が付与されていません。
解決策
次の手順を実行して、Linuxインスタンスのディスク領域使用量とFTPホーム
ディレクトリの権限を確認します。
Linux ECSインスタンスに接続します。
詳細については、「パスワードまたはキーを使用したLinuxインスタンスへの接続」をご参照ください。
次のコマンドを実行して、インスタンスのディスク容量がいっぱいかどうかを確認します。
df -h
説明ディスクのパーティション使用率が100% に達すると、ディスク容量がいっぱいになります。
コマンド出力の例を次の図に示します。 サンプルコマンド出力では、
/dev/xvda1
パーティションの使用率が59% されています。次のコマンドを実行して、FTP
ホーム
ディレクトリの書き込み
権限が付与されているかどうかを確認します。説明実際のFTP
ホーム
ディレクトリを指定します。 この例では、/home/user
ディレクトリがFTPホームディレクトリとして使用されます。ls -l /home/user
FTPホームディレクトリの
書き込み
権限が付与されていない場合、次の図の赤いボックスに示すように、w
は権限設定に含まれません。次のコマンドを実行して、FTPホームディレクトリの
書き込み
権限を付与します。chmod +w /home/user
次のコマンドを実行して、FTPホームディレクトリへの書き込み権限が付与されているかどうかを確認します。 コマンド出力に
w
が表示されている場合、FTPホームディレクトリに対する書き込み
権限が付与されます。ls -l /home/user
Windows ECSインスタンスでFTPを使用してFileZilla Serverにファイルをアップロードしたときに「550権限が拒否されました」というエラーメッセージが表示された場合はどうすればよいですか?
問題の内容
Windows ECSインスタンスでFTPを使用してFileZilla Serverにファイルをアップロードすると、550権限拒否エラーメッセージが表示されます。
原因
FTPアカウントにはFileZilla Serverの書き込み
権限がありません。
解決策
Windows ECSインスタンスに接続します。
詳細については、「パスワードを使用したWindowsインスタンスへの接続」をご参照ください。
FileZillaサーバーを実行します。 [ユーザー] ウィンドウで、[共有フォルダー] を選択します。
FTPアカウントに対応するユーザーとディレクトリを選択し、[書き込み] を選択し、[OK] をクリックしてユーザーに書き込み権限を付与します。
Active Directory (AD) ドメインコントローラーのインストールの失敗
ADドメインコントローラーをインストールできず、「アクティブディレクトリドメインサービスバイナリのインストールに失敗しました」というエラーメッセージが表示された場合はどうすればよいですか。
問題の内容
Windows ECSインスタンスにADドメインコントローラーをインストールできず、「アクティブディレクトリドメインサービスバイナリのインストールに失敗しました」というエラーメッセージが表示されます。
原因
Windowsイベントビューアーに表示されるエラーは、リモートレジストリ
サービスが無効になっており、期待どおりに起動できないことを示しています。
解決策
Remote Registry
サービスを開始するには、次の手順を実行します。
Windows ECSインスタンスに接続します。
詳細については、「パスワードを使用したWindowsインスタンスへの接続」をご参照ください。
デスクトップのタスクバーで、[開始] をクリックし、[実行] を選択します。 [実行] ダイアログボックスで、
services.msc
と入力し、[OK] をクリックします。[サービス] ウィンドウで、
[リモートレジストリ]
をダブルクリックし、[リモートレジストリのプロパティ] ウィンドウを開きます。 [リモートレジストリのプロパティ] ウィンドウで、次の設定を行います。[スタートアップタイプ]を[自動]に設定します。
[サービスステータス] セクションで、[開始] をクリックし、
[リモートレジストリ]
サービスが期待どおりに開始できることを確認します。
[OK] をクリックします。
ADドメインコントローラーをインストールしたときに「このコンピューターにIPアドレスが動的に割り当てられました」というエラーメッセージが表示された場合はどうすればよいですか?
問題の内容
Windows ECSインスタンスにADドメインコントローラーをインストールすると、「このコンピューターにはIPアドレスが動的に割り当てられています」というエラーメッセージが表示されます。
原因
インスタンス上の少なくとも1つの物理ネットワークアダプタに静的IPアドレスがありません。
解決策
Windows ECSインスタンスに接続します。
詳細については、「パスワードを使用したWindowsインスタンスへの接続」をご参照ください。
ADドメインコントローラーをインストールします。
[静的IP割り当て] ウィンドウで、[はい] をクリックします。
ループバックは動的ホスト構成プロトコル (DHCP) を使用し、静的IPアドレスがなくても期待どおりに機能します。
ADドメインコントローラーをインストールしたときに0x0000232B RCODE_NAME_ERRORエラーコードが返された場合はどうすればよいですか?
問題の内容
Windows ECSインスタンスにADドメインコントローラーをインストールすると、0x0000232B RCODE_NAME_ERRORエラーコードが返されます。
原因
DNSサーバーでIPアドレスが正しく設定されていません。
解決策
次の手順を実行して、DNSサーバーのアドレスをWindows ECSインスタンスのプライベートIPアドレスに変更します。
Windows ECSインスタンスに接続します。
詳細については、「パスワードを使用したWindowsインスタンスへの接続」をご参照ください。
[インターネットプロトコルバージョン4 (TCP/IP) プロパティ] ウィンドウを開き、DNSサーバーのアドレスを変更し、[OK] をクリックします。
説明DNSサーバーのアドレスをWindows ECSインスタンスのプライベートIPアドレスに変更します。
DNSサーバーのIPアドレスがpingできるかどうかを確認します。
Windows ECSインスタンスにADドメインコントローラーをインストールするときに「ネットワークパスが見つかりませんでした」というエラーメッセージが表示された場合はどうすればよいですか?
問題の内容
Windows ECSインスタンスにADドメインコントローラーをインストールすると、「the network path was not found」というエラーメッセージが表示されます。
発生原因
上記の問題は、次の理由で発生する可能性があります。
TCP/IP NetBIOS Helper
およびRemote Registry
サービスは、ADドメインコントローラーおよびクライアントでは開始されません。ADドメインコントローラーとクライアントのDNS設定が正しくありません。
クライアントのセキュリティ識別子 (SID) は、ADドメインコントローラのSIDと同じです。
ファイアウォールまたはセキュリティソフトウェアがクライアントをブロックします。
解決策
次の操作を実行します。
TCP/IP NetBIOS HelperおよびRemote Registryサービスの開始
ADドメインコントローラーをインストールするECSインスタンスとクライアントとして機能するECSインスタンスで、TCP/IP NetBIOS HelperおよびRemote Registryサービスを起動します。 詳細については、このトピックの「ADドメインコントローラーのインストールの失敗」のソリューションサブセクションを参照してください。
クライアントのDNS設定の変更
詳細については、このトピックの「ADドメインコントローラーのインストールの失敗」のソリューションサブセクションを参照してください。
クライアントのSIDの変更
以下の手順を実行します。
クライアントとして機能するWindows ECSインスタンスに接続します。
詳細については、「パスワードを使用したWindowsインスタンスへの接続」をご参照ください。
クライアントのSIDを変更するために使用されるPowerShellスクリプトをダウンロードします。
ダウンロードリンク: AutoSysprep.ps1
スクリプトソース: Alibaba Cloud
コマンドプロンプトを開き、PowerShellと入力します。 Windows PowerShellウィンドウが表示されます。
説明ECSインスタンスが64ビットオペレーティングシステムを実行している場合は、32ビットPowerShell (Windows PowerShell (x86)) スクリプトを使用しないでください。 そうしないと、エラーが発生します。
スクリプトが保存されているパスに移動し、次のコマンドを実行してスクリプトツールの説明を表示します。
.\AutoSysprep.ps1 -help
次のコマンドを実行して、クライアントのSIDを再初期化します。
.\AutoSysprep.ps1 -ReserveHostname -ReserveNetwork -SkipRearm -PostAction "reboot"
SIDが初期化された後、クライアントとして機能するECSインスタンスが再起動されます。 以下の点にご注意ください。
クライアントのIPアドレスは、DHCPに基づいて割り当てられた動的IPアドレスから静的IPアドレスに変更されます。 静的IPアドレスがECSインスタンスのIPアドレスと同じであることを確認します。 DHCPに基づいて割り当てるIPアドレスを設定して、ECSインスタンスのプライマリプライベートIPアドレスを取得できます。
説明ECSコンソールでECSインスタンスのプライマリプライベートIPアドレスを変更しないでください。 それ以外の場合、アクセス例外が発生します。
SIDを再初期化すると、ECSインスタンスのファイアウォールの設定がMicrosoftのデフォルト設定に変更されます。 その結果、インスタンスにpingを実行することはできません。 ゲストまたはパブリックネットワークプロファイルのWindowsファイアウォールを無効にするか、必要なポートを開く必要があります。
コントロールパネルを開き、ゲストまたはパブリックネットワークプロファイルのファイアウォールを無効にします。
ゲストまたはパブリックネットワークプロファイルのWindowsファイアウォールを無効にすると、インスタンスにpingを送信できます。
クライアントからのアクセスを許可するファイアウォールまたはセキュリティソフトウェアの設定
詳細については、「Windowsシステムファイアウォールポリシー構成ガイド」をご参照ください。
wgetコマンドの実行時に報告されるエラー
Linuxインスタンスでwgetコマンドを実行したときに「command not found」というエラーメッセージが表示された場合はどうすればよいですか?
問題の内容
Linux ECSインスタンスでwget
コマンドを実行すると、command not foundというエラーメッセージが表示されます。 yum install wget
コマンドを実行すると、「既にインストールされている最新バージョン」というエラーメッセージが表示されます。
原因
wge
ファイルは、wget
ファイルではなく /usr/bin
ディレクトリにあります。 上記の問題は、ファイル名がwgeに変更されたために発生する可能性があります。
解決策
以下の手順を実行します。
Linux ECSインスタンスに接続します。
詳細については、「パスワードまたはキーを使用したLinuxインスタンスへの接続」をご参照ください。
次のコマンドを実行して、
wge
ファイルのパスを照会します。whereis wge
次のコマンド出力が返されます。これは、
wge
ファイルが/usr/bin/wge
パスに格納されていることを示します。wge: /usr/bin/wge
次のコマンドを実行して、/usr/bin/wgeディレクトリ内のwgeファイルの名前を変更します。
cp /usr/bin/wge /usr/bin/wget
wget
コマンドを再実行します。 問題が解決した場合、エラーメッセージは表示されません。
wgetコマンドを実行してLinux ECSインスタンスにデータをダウンロードしたときに「Permission denied」エラーメッセージが表示された場合はどうすればよいですか?
問題の内容
wget
コマンドを実行してLinux ECSインスタンスにデータをダウンロードすると、次のエラーメッセージが表示されます。
wget bash: /usr/bin/wget: Permission denied
原因
Linux ECSインスタンスのwget
ユーティリティの権限は000に設定されています。つまり、どのユーザーもユーティリティの読み取り、書き込み、または実行を許可されていません。
解決策
以下の手順を実行します。
Linux ECSインスタンスに接続します。
詳細については、「パスワードまたはキーを使用したLinuxインスタンスへの接続」をご参照ください。
次のコマンドを実行して、
wget
ユーティリティの権限を照会します。ls -l /usr/bin/wget
次のコマンド出力が返されます。これは、
wget
ユーティリティの権限が000に設定されていることを示します。-------- 1 root root 366800 Oct 31 2014 /usr/bin/wget
次のコマンドを実行して、
/usr/bin/wget
ディレクトリの属性を照会します。lsattr /usr/bin/wget
次のコマンド出力が返されます。これは、
/usr/bin/wget
ディレクトリにi
属性があり、不変であることを示します。 この場合、ディレクトリにファイルを作成したり、ディレクトリからファイルを削除したりすることはできません。----i--------e- /usr/bin/wget
次のコマンドを実行して、
/usr/bin/wget
ディレクトリのi
属性を削除します。chattr -i /usr/bin/wget
次のコマンドを実行して、
/usr/bin/wget
ディレクトリに権限を付与します。chmod 755 /usr/bin/wget
wget
コマンドを再実行します。 問題が解決した場合、エラーメッセージは表示されません。
FTPアクセスの失敗
Windows インスタンス
外部ネットワークからWindows ECSインスタンスのFTPサーバーにアクセスできない場合はどうすればよいですか。
問題の内容
外部ネットワークからWindows ECSインスタンスにデプロイされているFTPサーバーにアクセスすることはできません。
発生原因
上記の問題は、次の理由で発生する可能性があります。
必要なFTPポートがWindows ECSインスタンスのセキュリティグループで開かれていません。 この問題を解決するには、ソリューション1: セキュリティグループルールを追加して必要なFTPポートを開くを使用します。
FTPプロセスがファイアウォールによってブロックされています。 問題を解決するには、ソリューション2: FTPファイアウォールサポート機能の設定を使用します。
ソリューション
次のいずれかのソリューションを使用して、実際のシナリオに基づいて問題を解決します。
解決策1: セキュリティグループルールを追加して必要なFTPポートを開く
Windows ECSインスタンスにFTPサイトを構築した後、インスタンスのセキュリティグループにインバウンドルールを追加して、FTPサービスへのパッシブ接続用にポート21と1024〜65535の範囲のポートを開きます。 インバウンドセキュリティグループルールを追加する方法の詳細については、「セキュリティグループルールの追加」をご参照ください。
説明セキュリティグループの詳細については、「異なるユースケースのセキュリティグループ」および「共通ポート」をご参照ください。
解決策2: FTPファイアウォールサポート機能の設定
ファイアウォールが有効になっている場合は、TCPポート21とFTPサービスの1024〜65535の範囲のポートを開くようにインターネットインフォメーションサービス (IIS) マネージャーを構成します。 以下の手順を実行します。
説明デフォルトでは、Windows ECSインスタンスのファイアウォールは無効になっています。
このセクションでは、IISマネージャーを使用してFTPを構成する方法について説明します。
Windows ECSインスタンスに接続します。
詳細については、「パスワードを使用したWindowsインスタンスへの接続」をご参照ください。
IISマネージャーを開き、中央のウィンドウの機能の一覧でFTPファイアウォールサポートをダブルクリックします。
中央ペインのFTPファイアウォールサポートページで、パラメーターを設定し、[操作] ペインの [適用] をクリックします。
説明次のパラメータに注意してください。
ファイアウォールの外部IPアドレス: Windows ECSインスタンスのパブリックIPアドレスを入力します。
データチャネルのポート範囲: FTPサービスへのパッシブ接続のポート範囲を入力します。 ポート番号の有効範囲: 1024〜65535。 ビジネス要件に基づいてポート範囲を入力します。 この例では、1024 65535が入力されます。
コマンドプロンプトを開き、次のコマンドを実行してFTPサービスを再起動し、すべてのFTPサイトの設定を有効にします。
net stop ftpsvc&net start ftpsvc
(オプション) Windows ECSインスタンスでFTPサーバーを設定した後、FTPサービスにローカルでアクセスできますが、別のECSインスタンスからはアクセスできません。 この問題は、ファイアウォールの設定が正しくないことが原因です。 問題を解決するには、次の手順を実行します。
サーバーマネージャーで受信ルールを確認し、FTPサーバーが有効になっていることを確認します。
Windowsサービスのホストプロセス (svchost.exe) を追加します。
[コントロールパネル] を開き、[Windows Defenderファイアウォール] をクリックします。 [Windows Defenderファイアウォール] ウィンドウの左側のナビゲーションウィンドウで、[Windows Defenderファイアウォールを介してアプリまたは機能を許可する] をクリックします。
表示されるウィンドウで、[別のアプリを許可] をクリックします。
C:\Windows\System32\svchost.exe
を参照し、svchost.exeを追加します。[Windowsサービスのホストプロセス] オプションは、[許可されたアプリと機能] セクションに表示されます。 オプションの [プライベート] と [パブリック] を選択し、[OK] をクリックします。
Windows ECSインスタンスにデプロイされたFTPサーバーに接続するときに「530ログインが正しくありません」というエラーメッセージが表示された場合はどうすればよいですか。
問題の内容
Windows ECSインスタンスにデプロイされているFTPサーバーに接続すると、次のエラーメッセージが表示されます。
Response: 331 Please specify the password. Command: PASS ************ Response: 530 Login incorrect. Error: Critical error: Could not connect to server
発生原因
上記の問題は、次の理由で発生する可能性があります。
FTPパスワードが正しくない: 問題を解決するには、解決策1: FTPパスワードの変更を使用します。
FTPアカウントの権限不足: 問題を解決するには、解決策2: FTPアカウントに権限を付与するを使用します。
ソリューション
次のいずれかのソリューションを使用して、実際のシナリオに基づいて問題を解決します。
解決策1: FTPパスワードの変更
Windows ECSインスタンスに接続します。
詳細については、「パスワードを使用したWindowsインスタンスへの接続」をご参照ください。
Windowsデスクトップで、[このPC] を右クリックし、[管理] を選択して [コンピュータの管理] ウィンドウを開きます。
左側のナビゲーションウィンドウで、[ローカルユーザーとグループ]> [ユーザー] を選択します。 使用するFTPアカウントを右クリックし、[パスワードの設定] を選択します。
解決策2: FTPアカウントに権限を付与
Windows ECSインスタンスに接続します。
詳細については、「パスワードを使用したWindowsインスタンスへの接続」をご参照ください。
FTPサイトとファイルを共有するためのフォルダが存在するかどうかを確認します。
フォルダーが存在しない場合は、フォルダーを作成し、フォルダーに必要な権限をFTPアカウントに付与します。 詳細については、「WindowsインスタンスでFTPサイトを構築する」トピックのステップ3: 共有ファイルのアクセス許可の設定セクションを参照してください。
フォルダーが存在する場合は、フォルダーを右クリックし、[プロパティ] を選択し、[セキュリティ] タブをクリックしてFTPアカウントを選択し、アカウントに必要な権限を付与します。
Windows ECSインスタンスにデプロイされたFTPサーバーに接続するときに「530有効なホスト名が期待されます」というエラーメッセージが表示された場合はどうすればよいですか。
問題の内容
IIS 7.5 Windows ECSインスタンスでFTPサイトを構成し、そのFTPサイトにドメイン名をバインドすると、530有効なホスト名が期待されるか、IPアドレスまたはその他の方法でインスタンスのFTPサーバーに接続すると、503 Login with USER firstというエラーメッセージが表示されます。
原因
FTPサーバーに接続するときに入力したドメイン名の形式が無効です。
解決策
www.example.com
ドメイン名がFTPサイトにバインドされており、接続にuser
ユーザー名を使用する場合は、FTPサーバーに接続するにはwww.example.com | user
ドメイン名を使用する必要があります。説明FTPサイトにバインドされているドメイン名とユーザー名を縦棒 (|) で区切ります。
次の図に示すように、サイトバインディングを削除し、ユーザー名を直接使用してFTPサーバーに接続することもできます。
Windows ECSインスタンスでFTPを使用してFileZilla Serverにファイルをアップロードしたときに「550権限が拒否されました」というエラーメッセージが表示された場合はどうすればよいですか?
問題の内容
Windows ECSインスタンスでFTPを使用してFileZilla Serverにファイルをアップロードすると、550権限拒否エラーメッセージが表示されます。
原因
FTPアカウントにはFileZilla Serverの
書き込み
権限がありません。解決策
Windows ECSインスタンスに接続します。
詳細については、「パスワードを使用したWindowsインスタンスへの接続」をご参照ください。
FileZillaサーバーを実行します。 [ユーザー] ウィンドウで、[共有フォルダー] を選択します。
FTPアカウントに対応するユーザーとディレクトリを選択し、[書き込み] を選択し、[OK] をクリックしてユーザーに書き込み権限を付与します。
FTP over TLSを使用してWindows ECSインスタンスにデプロイされたFTPサイトに接続するときに、「534ポリシーにSSLが必要です」というエラーメッセージが表示された場合はどうすればよいですか。
問題の内容
FTP over TLSを使用して、Windows ECSインスタンス上のIISによって作成されたFTPサイトにアクセスすることはできません。「534ポリシーにはSSLが必要です」というエラーメッセージが表示されます。
原因
「サーバー上のローカルポリシーを534するとTLSセキュア接続が許可されません」というエラーメッセージは、問題がFTP SSL設定の誤ったパラメーター設定が原因であることを示しています。
解決策
Windows ECSインスタンスに接続します。
詳細については、「ECSインスタンスへの接続方法」をご参照ください。
デスクトップの左下隅で、 /> Windows管理ツール > インターネットインフォメーションサービス (IIS) マネージャーを選択します。
FTPホームページのFTPセクションで、[FTP SSL設定] をクリックします。
[FTP SSL設定] ページで、[SSLポリシー] を [SSL接続を許可] に設定します。 次に、[操作] ペインで [適用] をクリックします。
FTPサイトにアクセスします。
Linux インスタンス
Linux ECSインスタンスにデプロイされたFTPサイトにファイルをアップロードするときに「425セキュリティ: IP接続不良」というエラーメッセージが表示された場合はどうすればよいですか。
問題の内容
Linux ECSインスタンスにデプロイされたFTPサイトにファイルをアップロードすると、「425セキュリティ: IP接続不良」というエラーメッセージが表示されます。
原因
ほとんどの場合、上記の問題は、クライアントがNATネットワークに存在し、複数のパブリックIPアドレスに関連付けられている場合に発生します。 これにより、FTPサービスによって維持されている2つの接続の送信元IPアドレス間に不一致が発生し、エラーが発生します。
説明FTPサービスは、制御接続とデータ接続の2つの接続を同時に維持します。 デフォルトでは、データ送信中に、FTPサーバーは2つの接続の送信元IPアドレスが一致しているかどうかを確認します。 送信元IPアドレスに矛盾がある場合、FTPサーバーは「425セキュリティ: IP接続不良」エラーを報告します。
解決策
FTPパッシブモードのIPセキュリティチェックを無効にするには、次の手順を実行します。
Linux ECSインスタンスに接続します。
詳細については、「パスワードまたはキーを使用したLinuxインスタンスへの接続」をご参照ください。
次のコマンドを実行して、FTP設定ファイルを開きます。
vi /etc/vsftpd/vsftpd.conf
i
キーを押してInsertモードに入り、次のコンテンツをファイルに追加します。pasv_promiscuous=yes
Esc
キーを押して挿入モードを終了します。 次に、:wq
と入力し、enterキーを押してファイルを保存して閉じます。次のコマンドを実行して、FTPサービスを再起動します。
systemctl restart vsftpd
VSFTPを使用してLinux ECSインスタンスにファイルをアップロードできなかったときに「553がファイルを作成できませんでした」というエラーメッセージが表示された場合はどうすればよいですか?
問題の内容
VSFTPを使用してLinux ECSインスタンスにファイルをアップロードすることはできません。また、「553がファイルを作成できません」というエラーメッセージが表示されます。
発生原因
上記の問題は、次の理由で発生する可能性があります。
Linuxインスタンスのディスク容量がいっぱいです。
FTP
ホーム
ディレクトリの書き込み
権限が付与されていません。
解決策
次の手順を実行して、Linuxインスタンスのディスク領域使用量とFTP
ホーム
ディレクトリの権限を確認します。Linux ECSインスタンスに接続します。
詳細については、「パスワードまたはキーを使用したLinuxインスタンスへの接続」をご参照ください。
次のコマンドを実行して、インスタンスのディスク容量がいっぱいかどうかを確認します。
df -h
説明ディスクのパーティション使用率が100% に達すると、ディスク容量がいっぱいになります。
コマンド出力の例を次の図に示します。 サンプルコマンド出力では、
/dev/xvda1
パーティションの使用率が59% されています。次のコマンドを実行して、FTP
ホーム
ディレクトリの書き込み
権限が付与されているかどうかを確認します。説明実際のFTP
ホーム
ディレクトリを指定します。 この例では、/home/user
ディレクトリがFTPホームディレクトリとして使用されます。ls -l /home/user
FTPホームディレクトリの
書き込み
権限が付与されていない場合、次の図の赤いボックスに示すように、w
は権限設定に含まれません。次のコマンドを実行して、FTPホームディレクトリの
書き込み
権限を付与します。chmod +w /home/user
次のコマンドを実行して、FTPホームディレクトリへの書き込み権限が付与されているかどうかを確認します。 コマンド出力に
w
が表示されている場合、FTPホームディレクトリに対する書き込み
権限が付与されます。ls -l /home/user
その他
ECSインスタンスにデプロイされたWeChat Official Accounts Platformのトークンが検証に失敗した場合はどうすればよいですか。
問題の内容
ECSインスタンスにデプロイされているWeChat Official Accounts Platformのトークンが検証に失敗しました。
発生原因
上記の問題は、次の理由で発生する可能性があります。
メモ帳やオンラインエディターなどを使用して、トークンファイルが不適切に編集されます。 その結果、UTF-8バイト順序マーク (BOM) 署名がファイルに追加されます。
Safe DogまたはSecurity CenterがECSインスタンスにインストールされ、Tencentサーバーからのリクエストをブロックします。
ECSインスタンスはトークン検証に一時ドメイン名を使用し、リクエストはTencentシステムによってインターセプトされます。
PHPファイルには、終了タグの後に改行またはその他の文字が含まれています。
他のデバッグ検証方法が使用される。
プログラムのGzip暗号化中に例外が発生します。
ソリューション
原因に基づいて問題を解決するには、次の操作を実行します。
トークンファイルが、メモ帳やオンラインエディターなどで不適切に編集されています
トークンファイルからUTF-8 BOM署名を削除するには、多機能エディターを使用することを推奨します。
Safe DogまたはSecurity CenterがECSインスタンスにインストールされています
Safe Dogをアンインストールするか、Security CenterのホワイトリストにTencentサーバーを追加することを推奨します。
ECSインスタンスはトークン検証に一時ドメイン名を使用します
検証を実行する際は、Alibaba Cloudに登録されているドメイン名を使用することを推奨します。
PHPファイルには、終了タグの後に改行またはその他の文字が含まれています
終了タグの後に余分な文字を削除します。
その他のデバッグおよび検証方法が使用される
curl http:// xxx/index.php/api/xx
コマンドを実行して、デバッグと検証を実行します。 WeChat APIリクエストをシミュレートし、分析を実行します。例外が発生しましたGzip暗号化プログラム
プログラムのGzip暗号化機能を一時的に無効にして、問題のトラブルシューティングを行うことをお勧めします。
Linux ECSインスタンスの漢字が文字化けしている場合はどうすればよいですか。
問題の内容
サードパーティのSSHクライアントを使用してLinux ECSインスタンスに接続すると、インスタンス上の漢字が文字化けします。
発生原因
上記の問題は、次の理由で発生する可能性があります。
Linuxオペレーティングシステムには中国語フォントがインストールされていません。 デフォルトでは、Linuxは漢字の表示をサポートしていません。 Linuxでの漢字の表示を有効にするには、解決策1: Linuxに中国語パックをインストールするを使用して中国語パックをインストールする必要があります。
サードパーティのSSHクライアントツールの文字セットが正しく設定されていません。 この問題を解決するには、ソリューション2: サードパーティのSSHクライアントツールの文字セットを変更するを使用します。
ソリューション
次のいずれかのソリューションを使用して、実際のシナリオに基づいて問題を解決します。
解決策1: Linux ECSインスタンスに中国語パックをインストールする
この例では、CentOS 7.8を実行するインスタンスが使用されます。 設定とコマンドは、特定のCentOSバージョンやRed Hat、Debian、Ubuntuなどのディストリビューションなど、オペレーティングシステムによって異なる場合があります。 詳細については、オペレーティングシステムの公式ドキュメントを参照してください。
CentOS 6とCentOS 8は寿命 (EOL) に達しました。 Linuxコミュニティルールに従って、CentOS 6およびCentOS 8のデフォルトリポジトリアドレスからすべてのコンテンツが削除されます。 CentOS 6またはCentOS 8のデフォルトリポジトリアドレスを引き続き使用すると、エラーが報告されます。 CentOS 6またはCentOS 8のリポジトリアドレスを変更することを推奨します。 詳細については、「」をご参照ください。CentOS 6リポジトリアドレスを変更するにはどうすればよいですか? CentOS 8リポジトリのアドレスを変更します。
Linux ECSインスタンスに接続します。
詳細については、「パスワードまたはキーを使用したWindowsインスタンスへの接続」をご参照ください。
次のコマンドを実行して、オペレーティングシステムで使用されている言語を照会します。
echo $LANG
説明英語を使用する場合は、ステップ3に進みます。
中国語を使用する場合は、Linuxオペレーティングシステムに中国語パックがインストールされます。 この場合、漢字の文字化けしは、サポートされていない中国語フォントによるものではありません。 この問題を解決するには、ソリューション2: サードパーティのSSHクライアントツールの文字セットを変更するを使用します。
次のコマンドを実行して、中国語パックがオペレーティングシステムにインストールされているかどうかを確認します。
locale -a | grep "zh_CN"
次のコマンド出力が表示されます。 zhは中国語、CNは中国語、gb18030、gb2312、gbk、utf8は文字セットである。
zh_CN zh_CN.gb18030 zh_CN.gb2312 zh_CN.gbk zh_CN.utf8
中国語パックがインストールされていない場合は、次のコマンドを実行して言語パックをインストールします。
sudo yum groupinstall "fonts"
次のコマンドを実行して、
/etc/locale.conf
設定ファイルを開きます。vim /etc/locale.conf
i
キーを押して挿入モードに入ります。 次に、LANG=en_US.UTF-8
をLANG=zh_CN.UTF-8
に変更し、システム言語を中国語に変更します。Esc
キーを押して:wq
と入力し、enterキーを押して設定ファイルを保存して閉じます。
設定を有効にするには、次のコマンドを実行します。
source /etc/locale.conf
次のコマンドを実行して、インスタンスを再起動します。
reboot
(オプション) インスタンスの再起動後もシステム言語が英語のままである場合は、次のコマンドを実行して
/etc/profile.d/lang.sh
設定ファイルを開きます。vim /etc/profile.d/lang.sh
i
キーを押して挿入モードに入ります。 次に、zh *) LANG=en_US.UTF − 8
をzh *) LANG=zh_CN.UTF − 8
に変更する。 次の図は、変更されたコンテンツを示しています。Esc
キーを押して:wq
と入力し、enterキーを押して設定ファイルを保存して閉じます。次のコマンドを実行して、インスタンスを再起動します。
reboot
解決策2: サードパーティのSSHクライアントツールの文字セットを変更する
次のセクションでは、Xshellクライアントの文字セットを変更する方法について説明します。
Xshellクライアントを開きます。
Xshellクライアントウィンドウで、デフォルト言語をUnicode (UTF-8) に設定します。
インスタンスにログインします。 問題が解決した場合、エラーメッセージは表示されません。