このトピックでは、Elastic Compute Service (ECS) インスタンスでサードパーティ製ソフトウェアを構成および使用するときに発生する可能性のある一般的な問題と、対応する解決策について説明します。
MySQL の問題
インスタンスに MySQL をインストールしてログインした後、インスタンスにデプロイされた MySQL に接続するときに「1045 - Access denied for user 'root'@'****'(using password:YES)」というエラーメッセージが表示される場合はどうすればよいですか?
問題の説明
ECS インスタンスに MySQL をインストールしてログインした後、正しいユーザー名とパスワードを使用してリモート IP アドレスから MySQL に接続すると、[1045 - Access Denied For User 'root'@'****'(using Password:YES)] というエラーメッセージが表示されます。
原因
ECS インスタンスに MySQL をインストールした後、MySQL はローカル IP アドレスからのログインのみを許可し、リモート IP アドレスからのログインは許可しません。
解決策
リモート IP アドレスから MySQL へのログインを許可するには、次の手順を実行します。
ECS インスタンスに接続します。
詳細については、「ECS インスタンスへの接続方法」をご参照ください。
MySQL にログインし、次の SQL 文を実行して、root ユーザーに MySQL へのリモートログイン権限を付与します。
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
説明上記の SQL 文を実行すると、root ユーザーはすべての 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 に接続できず、「ERROR 2003 (HY000): Can't connect to MySQL server on '39.106.**.**' (110)」というエラーメッセージが表示される場合はどうすればよいですか?
問題の説明
Linux ECS インスタンス上の MySQL に接続できず、次のエラーメッセージが表示されます:[ERROR 2003 (HY000): Can't Connect To MySQL Server On '39.106.**.**' (110)]。
原因
上記の事象は、Linux ECS インスタンスのポート 3306 がリッスン状態でないことが原因で発生する可能性があります。その結果、インスタンスの 39.106.**.**
IP アドレスから MySQL にアクセスできません。
解決策
MySQL がインストールされている Linux ECS インスタンスに接続します。
詳細については、「Workbench を使用して SSH 経由で Linux インスタンスに接続する」をご参照ください。
次のコマンドを実行して、
my.cnf
構成ファイルをバックアップします。cp my.cnf my.cnf.bak
my.cnf
構成ファイルを修正します。次のコマンドを実行して、
my.cnf
構成ファイルを開きます。vim /etc/my.cnf
i
キーを押して挿入モードに入り、my.cnf
ファイルに次の内容を追加します。bind-address = 0.0.0.0
次の図は、コンテンツが追加される場所を示しています。
Esc
キーを押して挿入モードを終了し、:wq
と入力してEnter
キーを押して、ファイルを保存して閉じます。
次のコマンドを実行して MySQL を再起動し、ポート 3306 がリッスン状態であることを確認します。
/etc/init.d/mysqld restart
ファイルのアップロードに関する問題
Very Secure FTP(VSFTP)を使用して Linux インスタンスにファイルをアップロードできない場合に「553 Could not create file」エラーメッセージが表示される場合はどうすればよいですか。
問題の説明
VSFTP を使用して Linux ECS インスタンスにファイルをアップロードできず、[553 Could Not Create File] エラーメッセージが表示されます。
原因
上記のエラーは、次の理由で発生する可能性があります。
Linux インスタンスのディスク容量が不足しています。
FTP
home
ディレクトリに対するwrite
権限が付与されていません。
解決策
Linux インスタンスのディスク容量の使用状況と FTP home
ディレクトリの権限を確認するには、次の手順を実行します。
Linux ECS インスタンスに接続します。
詳細については、「Workbench を使用して SSH 経由で Linux インスタンスに接続する」をご参照ください。
次のコマンドを実行して、インスタンスのディスク容量が不足しているかどうかを確認します。
df -h
説明ディスクのパーティション使用率が 100% に達すると、ディスク容量が不足しています。
次の図は、コマンド出力の例を示しています。コマンド出力の例では、
/dev/xvda1
パーティションの使用率は 59% です。次のコマンドを実行して、FTP
home
ディレクトリに対するwrite
権限が付与されているかどうかを確認します。説明実際の FTP
home
ディレクトリを指定します。この例では、/home/user
ディレクトリが FTP ホームディレクトリとして使用されています。ls -l /home/user
FTP ホームディレクトリに対する
write
権限が付与されていない場合、次の図の赤い枠で示されているように、権限設定にw
が含まれていません。次のコマンドを実行して、FTP ホームディレクトリに対する
write
権限を付与します。chmod +w /home/user
次のコマンドを実行して、FTP ホームディレクトリに対する書き込み権限が付与されているかどうかを確認します。コマンド出力に
w
が表示されている場合、FTP ホームディレクトリに対するwrite
権限が付与されています。ls -l /home/user
Windows ECS インスタンスで FTP を使用して FileZilla Server にファイルをアップロードするときに「550 Permission denied」エラーメッセージが表示される場合はどうすればよいですか。
問題の説明
Windows ECS インスタンスで FTP を使用して FileZilla Server にファイルをアップロードすると、[550 Permission Denied] エラーメッセージが表示されます。
原因
FTP アカウントに FileZilla Server に対する write
権限がありません。
解決策
Windows ECS インスタンスに接続します。
詳細については、「Workbench を使用して RDP 経由で Windows インスタンスに接続する」をご参照ください。
FileZilla Server を実行します。[ユーザー] ウィンドウで、[共有フォルダ] を選択します。
FTP アカウントに対応するユーザーとディレクトリを選択し、[書き込み] を選択して、[OK] をクリックし、ユーザーに書き込み権限を付与します。
Active Directory ( AD ) ドメインコントローラーのインストールエラー
AD ドメインコントローラーをインストールできず、「Active Directory ドメインサービスバイナリのインストールに失敗しました」というエラーメッセージが表示される場合はどうすればよいですか。
問題の説明
Windows ECS インスタンスに AD ドメインコントローラーをインストールできず、[Active Directory ドメインサービスバイナリのインストールに失敗しました] というエラーメッセージが表示されます。
原因
Windows イベントビューアーに表示されるエラーは、Remote Registry
サービスが無効になっており、想定どおりに起動できないことを示しています。
解決策
Remote Registry
サービスを起動するには、次の手順を実行します。
Windows ECS インスタンスに接続します。
詳細については、「Workbench を使用して RDP 経由で Windows インスタンスに接続する」をご参照ください。
デスクトップのタスクバーで、[スタート] をクリックし、[ファイル名を指定して実行] を選択します。[ファイル名を指定して実行] ダイアログボックスに
services.msc
と入力し、[OK] をクリックします。[サービス] ウィンドウで、
Remote Registry
をダブルクリックして、[Remote Registry のプロパティ] ウィンドウを開きます。[Remote Registry のプロパティ] ウィンドウで、次の設定を行います。[スタートアップの種類] を [自動] に設定します。
[サービスの状態] セクションで、[開始] をクリックし、
Remote Registry
サービスが想定どおりに起動できることを確認します。
[OK] をクリックします。
AD ドメインコントローラーをインストールするときに「このコンピューターには動的に割り当てられた IP アドレスがあります」というエラーメッセージが表示される場合はどうすればよいですか。
問題の説明
Windows ECS インスタンスに AD ドメインコントローラーをインストールすると、[このコンピューターには動的に割り当てられた IP アドレスがあります] というエラーメッセージが表示されます。
原因
インスタンス上の少なくとも 1 つの物理ネットワークアダプターに静的 IP アドレスがありません。
解決策
Windows ECS インスタンスに接続します。
詳細については、「Workbench を使用して RDP 経由で 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 インスタンスに接続します。
詳細については、「Workbench を使用して RDP 経由で Windows インスタンスに接続する」をご参照ください。
[インターネットプロトコルバージョン 4 ( TCP / IP ) のプロパティ] ウィンドウを開き、DNS サーバのアドレスを変更して、[OK] をクリックします。
説明DNS サーバのアドレスを Windows ECS インスタンスのプライベート IP アドレスに変更します。
DNS サーバの IP アドレスを ping できるかどうかを確認します。
Windows ECS インスタンスに AD ドメインコントローラーをインストールするときに「ネットワークパスが見つかりません」というエラーメッセージが表示される場合はどうすればよいですか。
問題の説明
Windows ECS インスタンスに AD ドメインコントローラーをインストールすると、[ネットワークパスが見つかりません] というエラーメッセージが表示されます。
原因
上記の 問題 は、次の 原因 で 発生 する 可能性 があります。
TCP/IP NetBIOS Helper
サービス とRemote Registry
サービス が AD ドメインコントローラー と クライアント で 開始 されていません。AD ドメインコントローラー と クライアント の DNS 構成 が 正しくありません。
クライアント の セキュリティ識別子 (SID) が AD ドメインコントローラー の SID と 同じです。
ファイアウォール または セキュリティ ソフトウェア が クライアント を ブロックしています。
原因
次の操作を実行します。
TCP/IP NetBIOS ヘルパー サービスとリモート レジストリ サービスを開始する
AD ドメインコントローラーをインストールする ECS インスタンスと、クライアントとして機能する ECS インスタンスで、TCP/IP NetBIOS ヘルパー サービスとリモート レジストリ サービスを開始します。詳細については、このトピックの「AD ドメインコントローラーのインストールの失敗」セクションにある解決策のサブセクションをご参照ください。
クライアントの DNS 構成を変更する
詳細については、このトピックの「AD ドメインコントローラーのインストールの失敗」セクションにある解決策のサブセクションをご参照ください。
クライアントの SID を変更する
次の手順を実行します。
クライアントとして機能する Windows ECS インスタンスに接続します。
詳細については、「Workbench を使用して RDP 経由で 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 ECS インスタンスのファイアウォール ルールを構成する」をご参照ください。
wget コマンド実行時に報告されるエラー
Linux インスタンスで wget コマンドを実行したときに「command not found」エラーメッセージが表示された場合はどうすればよいですか。
問題の説明
Linux ECS インスタンスで wget
コマンドを実行すると、「[command Not Found]」エラーメッセージが表示されます。yum install wget
コマンドを実行すると、「[already Installed And Latest Version]」エラーメッセージが表示されます。
原因
wget
ファイルではなく、wge
ファイルが /usr/bin
ディレクトリに存在します。上記の問題は、ファイルの名前が wge に変更されているために発生する可能性があります。
解決策
次の手順を実行します。
Linux ECS インスタンスに接続します。
詳細については、「Workbench を使用して SSH 経由で Linux インスタンスに接続する」をご参照ください。
次のコマンドを実行して、
wge
ファイルのパスをクエリします。whereis wge
次のコマンド出力が返されます。これは、
wge
ファイルが/usr/bin/wge
パスに格納されていることを示しています。wge: /usr/bin/wge
/usr/bin/wge ディレクトリにある wge ファイルの名前を変更するには、次のコマンドを実行します。
cp /usr/bin/wge /usr/bin/wget
wget
コマンドを再実行します。問題が解決した場合、エラーメッセージは表示されなくなります。
Linux ECS インスタンスでデータをダウンロードするために wget コマンドを実行したときに「Permission denied」エラーメッセージが表示された場合はどうすればよいですか。
問題の説明
Linux ECS インスタンスでデータをダウンロードするために wget
コマンドを実行すると、次のエラーメッセージが表示されます。
wget bash: /usr/bin/wget: Permission denied
原因
Linux ECS インスタンスの wget
ユーティリティの権限が 000 に設定されています。これは、どのユーザーもユーティリティの読み取り、書き込み、または実行を許可されていないことを意味します。
解決策
次の手順を実行します。
Linux ECS インスタンスに接続します。
詳細については、「Workbench を使用して SSH 経由で 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 サーバーにアクセスできません。
原因
上記の発生原因として、以下の理由が考えられます。
Windows ECS インスタンスのセキュリティグループで必要な FTP ポートが開かれていません。この問題を解決するには、解決策 1: セキュリティグループルールを追加して必要な FTP ポートを開く を使用します。
FTP プロセスがファイアウォールによってブロックされています。この問題を解決するには、解決策 2: FTP ファイアウォールサポート機能を構成する を使用します。
解決策
実際のシナリオに基づいて、次のいずれかの解決策を使用して問題を解決します。
解決策 1: セキュリティグループルールを追加して必要な FTP ポートを開く
Windows ECS インスタンスに FTP サイトを構築した後、インスタンスのセキュリティグループにインバウンドルールを追加して、ポート 21 と、FTP サービスへのパッシブ接続用に 1024 から 65535 の範囲のポートを開きます。セキュリティグループのインバウンドルールの追加方法については、「セキュリティグループルールの追加」をご参照ください。
説明セキュリティグループについては、「セキュリティグループの使用ガイドラインとユースケース」および「共通ポート」をご参照ください。
解決策 2: FTP ファイアウォールサポート機能を構成する
ファイアウォールが有効になっている場合は、インターネットインフォメーションサービス ( IIS ) マネージャーを構成して、FTP サービス用に TCP ポート 21 と 1024 から 65535 の範囲のポートを開きます。次の手順を実行します。
説明デフォルトでは、Windows ECS インスタンスのファイアウォールは無効になっています。
このセクションでは、IIS マネージャーを使用して FTP を構成する方法について説明します。
Windows ECS インスタンスに接続します。
詳細については、「Workbench を使用して RDP 経由で 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 インスタンスに接続します。
詳細については、「Workbench を使用して RDP 経由で Windows インスタンスに接続する」をご参照ください。
Windows デスクトップで、[PC] を右クリックし、[管理] を選択して [コンピューターの管理] ウィンドウを開きます。
左側のナビゲーションウィンドウで、[ローカルユーザーとグループ] > [ユーザー] を選択します。使用する FTP アカウントを右クリックし、[パスワードの設定] を選択します。
解決策 2: FTP アカウントに権限を付与する
Windows ECS インスタンスに接続します。
詳細については、「Workbench を使用して RDP 経由で Windows インスタンスに接続する」をご参照ください。
FTP サイトとファイルを共有するためのフォルダーが存在するかどうかを確認します。
フォルダーが存在しない場合は、フォルダーを作成し、FTP アカウントにフォルダーに必要な権限を付与します。詳細については、「Windows インスタンスに FTP サイトを構築する」トピックの 手順 3: ファイル共有の権限を構成する セクションをご参照ください。
フォルダーが存在する場合は、フォルダーを右クリックし、[プロパティ] を選択し、[セキュリティ] タブをクリックし、FTP アカウントを選択して、アカウントに必要な権限を付与します。
Windows ECS インスタンスにデプロイされている FTP サーバーに接続するときに「530 有効なホスト名が必要です」というエラーメッセージが表示される場合はどうすればよいですか。
問題の説明
Windows ECS インスタンスの IIS 7.5 で FTP サイトを構成し、FTP サイトにドメイン名をバインドした後、IP アドレスまたはその他の方法を使用してインスタンス上の FTP サーバーに接続すると、530 有効なホスト名が必要です または 503 最初に USER でログインしてください というエラーメッセージが表示されます。
原因
FTP サーバーに接続するときに入力したドメイン名の形式が無効です。
解決策
www.example.com
ドメイン名が FTP サイトにバインドされていて、接続にuser
ユーザー名を使用している場合は、www.example.com|user
ドメイン名を使用して FTP サーバーに接続する必要があります。説明FTP サイトにバインドされているドメイン名とユーザー名を縦棒 ( | ) で区切ります。
次の図に示すように、サイトバインディングを削除して、ユーザー名を使用して FTP サーバーに直接接続することもできます。
Windows ECS インスタンスで FTP を使用して FileZilla Server にファイルをアップロードするときに「550 権限が拒否されました」というエラーメッセージが表示される場合はどうすればよいですか。
問題の説明
Windows ECS インスタンスで FTP を使用して FileZilla Server にファイルをアップロードすると、550 権限が拒否されました というエラーメッセージが表示されます。
原因
FTP アカウントに FileZilla Server への
write
権限がありません。解決策
Windows ECS インスタンスに接続します。
詳細については、「Workbench を使用して RDP 経由で Windows インスタンスに接続する」をご参照ください。
FileZilla Server を実行します。[ユーザー] ウィンドウで、[共有フォルダー] を選択します。
FTP アカウントに対応するユーザーとディレクトリを選択し、[書き込み] を選択して、[OK] をクリックし、ユーザーに書き込み権限を付与します。
Windows ECS インスタンスにデプロイされている FTP サイトに FTP over TLS を使用して接続するときに「534 ポリシーで SSL が必要です」というエラーメッセージが表示される場合はどうすればよいですか。
問題の説明
FTP over TLS を使用して Windows ECS インスタンスで IIS によって作成された FTP サイトにアクセスできず、「534 ポリシーで SSL が必要です」というエラーメッセージが表示されます。
原因
「534 サーバーのローカルポリシーでは TLS セキュア接続が許可されていません」というエラーメッセージは、[FTP SSL 設定] のパラメーター設定が正しくないことが原因で問題が発生したことを示しています。
解決策
Windows ECS インスタンスに接続します。
詳細については、「ECS インスタンスに接続する方法」をご参照ください。
デスクトップの左下隅で、
> メディア ファイルのスケーラビリティを向上させる注: > を選択します。
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 インスタンスに接続します。
詳細については、「Workbench を使用して SSH 経由で Linux インスタンスに接続する」をご参照ください。
次のコマンドを実行して、FTP 構成ファイルを開きます。
vi /etc/vsftpd/vsftpd.conf
i
キーを押して挿入モードに入り、ファイルに次の内容を追加します。pasv_promiscuous=yes
Esc
キーを押して挿入モードを終了します。次に、:wq
と入力し、Enter キーを押してファイルを保存して閉じます。次のコマンドを実行して FTP サービスを再起動します。
systemctl restart vsftpd
VSFTP を使用して Linux ECS インスタンスにファイルをアップロードできないときに「553 ファイルを作成できませんでした」というエラーメッセージが表示される場合はどうすればよいですか。
問題の説明
VSFTP を使用して Linux ECS インスタンスにファイルをアップロードできず、「553 ファイルを作成できませんでした」というエラーメッセージが表示されます。
原因
上記の発生原因として、以下の理由が考えられます。
Linux インスタンスのディスク容量がいっぱいです。
FTP
home
ディレクトリへのwrite
権限が付与されていません。
解決策
次の手順を実行して、Linux インスタンスのディスク容量の使用状況と FTP
home
ディレクトリの権限を確認します。Linux ECS インスタンスに接続します。
詳細については、「Workbench を使用して SSH 経由で Linux インスタンスに接続する」をご参照ください。
次のコマンドを実行して、インスタンスのディスク容量がいっぱいになっているかどうかを確認します。
df -h
説明ディスクのパーティションの使用率が 100 % に達すると、ディスク容量がいっぱいです。
次の図は、コマンド出力の例を示しています。コマンド出力の例では、
/dev/xvda1
パーティションの使用率は 59 % です。次のコマンドを実行して、FTP
home
ディレクトリへのwrite
権限が付与されているかどうかを確認します。説明実際の FTP
home
ディレクトリを指定します。この例では、/home/user
ディレクトリが FTP ホームディレクトリとして使用されています。ls -l /home/user
FTP ホームディレクトリへの
write
権限が付与されていない場合、次の図の赤い枠で示すように、権限設定にw
は含まれていません。次のコマンドを実行して、FTP ホームディレクトリへの
write
権限を付与します。chmod +w /home/user
次のコマンドを実行して、FTP ホームディレクトリへの書き込み権限が付与されているかどうかを確認します。コマンド出力に
w
が表示されている場合、FTP ホームディレクトリへのwrite
権限が付与されています。ls -l /home/user
その他
ECS インスタンスにデプロイされた WeChat 公式アカウント プラットフォームのトークンの検証に失敗した場合の対処方法
問題の説明
ECS インスタンスにデプロイされている WeChat 公式アカウント プラットフォームのトークン検証に失敗します。
原因
上記の事象は、以下の理由により発生する可能性があります。
メモ帳やオンラインエディタなどを使用して、トークンファイルが不適切に編集されています。その結果、UTF-8 バイトオーダーマーク(BOM)署名がファイルに追加されます。
Safe Dog またはセキュリティセンターが ECS インスタンスにインストールされており、Tencent サーバーからのリクエストをブロックしています。
ECS インスタンスがトークン検証に一時ドメイン名を使用しており、リクエストが Tencent システムによってインターセプトされています。
PHP ファイルの終了タグの後に改行などの文字が含まれています。
他のデバッグ検証方法が使用されています。
プログラムの Gzip 暗号化中に例外が発生します。
解決策
原因に基づいて、次の操作を実行して問題を解決します。
メモ帳やオンラインエディタなどを使用して、トークンファイルが不適切に編集されています
トークンファイルから UTF-8 BOM 署名を削除するには、多機能エディタを使用することをお勧めします。
Safe Dog またはセキュリティセンターが ECS インスタンスにインストールされています
Safe Dog をアンインストールするか、セキュリティセンターのホワイトリストに 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 などのディストリビューションなど、オペレーティングシステムによって異なる場合があります。詳細については、オペレーティングシステムの公式ドキュメントをご参照ください。
Linux ECS インスタンスに接続します。
詳細については、「Workbench を使用して SSH 経由で Linux インスタンスに接続する」をご参照ください。
次のコマンドを実行して、オペレーティングシステムで使用されている言語をクエリします。
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)] に設定します。
インスタンスにログオンします。問題が解決した場合、エラーメッセージは表示されなくなります。