学習メモ | 自作した Gravatar イメージを簡単に共有する

 

目次 

序文

グラバターの用途

アイデア

操作する

ステップ 1: Huawei Cloud に登録またはログインします

ステップ 2: 委任アカウントを作成する

ステップ 3: OBS バケットを作成する

ステップ 4: データをソースに戻す構成

ステップ 5: ライフサイクル ルールを構成する

ステップ 6: カスタム ドメイン名をバインドする

ステップ 7: アンチホットリンクを構成する

 他のプラットフォーム


序文

GravatarとはGlobally Recognized Avatarの略で、「世界的なアバター」を意味するgravatarが立ち上げたサービスです。Gravatar のサーバーに自分のアバターを配置している場合は、Gravatar をサポートするブログまたはゲストブックにメッセージを残すときに、アバターに関連付けられた電子メール アドレスを入力するだけで、Gravatar のアバターが表示されます。WordPress アバターはデフォルトで Gravatar サービスを使用しますが、そのアドレスへのアクセスが比較的遅いか、中国では単にアクセスできないため、多くの Gravatar ミラー サイトが出現しています。ただし、これらのミラー サイトを使用する人が多すぎるため、場合によってはアクセスできなくなったり、行方不明になったりすることがあります。したがって、ミラーサイトを自分で構築するだけです。

グラバターの用途


Gravatarが公式に提供するサービスは、ネットワーク環境の関係で中国国内でアクセスするとエクスペリエンスが悪く、アクセスできないことが多いため、国内のミラーサービスを利用することをおすすめします。

中国で一般的に使用されている Gravatar 画像ソースの一部を以下に示します。

Gravatar 官方的 secure 源:https://secure.gravatar.com/avatar/
Gravatar 官方的 cn 源:https://cn.gravatar.com/avatar/
Gravatar 官方的 www 源:https://www.gravatar.com/avatar/
V2EX:https://cdn.v2ex.com/gravatar/
极客族:https://sdn.geekzu.org/avatar/
loli:https://gravatar.loli.net/avatar/

アイデア


Huawei Cloud OBS (オブジェクトストレージ) のデータバックトゥオリジン機能を使用して、Gravatar オリジンサイトから OBS に画像をキャッシュし、カスタムドメイン名を OBS にバインドし、アバターサーバーのアドレスをカスタムドメインに変更します。 WordPress での名前。

操作する

ステップ 1: Huawei Cloud に登録またはログインします

1.1 Huawei Cloud Platformに登録またはログインし、コンソールに入ります。

 

ステップ 2: 委任アカウントを作成する

2.1 コンソールの左側にあるサービス リストで IAM を検索し、「Unified Identity Authentication Service IAM」と入力します。

2.2 [委任] --> [委任の作成] をクリックします。 

 2.3 下図のように、以下の内容を入力し、「次へ」をクリックします。

2.4 下図に示すように戦略を選択し、「次へ」をクリックします。


2.5 [最小認証範囲の設定] はデフォルト値のままにして、[OK] をクリックします。

2.6 ポップアップウィンドウで「了解」をクリックします。


2.7 「完了」をクリックすると、委託アカウントの作成が完了します。

 

ステップ 3: OBS バケットを作成する

3.1 コンソールに戻り、コンソールの左側にあるサービスリストで OBS を検索し、「Object Storage Service OBS」と入力します。

3.2 Object Storage Service コンソールで、[バケットの作成] をクリックします。 

 3.3 以下に示すように関連情報を入力し、「今すぐ作成」をクリックします。

ここで中国本土を選択できないのはなぜですか?
回答: 実際には、中国本土の地域を選択することもできますが、Gravatar ソース ステーションは国外にあり、ファイアウォールなどの理由で国内のアクセスができない可能性があるため、中国本土以外の地域を選択する方が安全です。

3.4 ポップアップウィンドウで「OK」をクリックします。

 3.5 OBS バケットの作成を完了します。

 

ステップ 4: データをソースに戻す構成

4.1 バケット名をクリックして、OBS バケット構成を入力します。

4.2 「データをソースに戻す」をクリックし、「作成」をクリックします。

 

4.3 データ返却ルールを作成し、図に従って関連する内容を入力し、その他は空白またはデフォルトのままにして、「OK」をクリックします。

 

 

 

4.4 データのバックトゥソース構成が完了しました。

 

ステップ 5: ライフサイクル ルールを構成する


OBS にデータが存在する限り、データはソースに返されません。ただし、ユーザーはアバターを随時更新する可能性があるため、OBS にキャッシュされたデータは定期的に削除する必要があります。これはライフ サイクル ルールによって実現できます。 OBSの。

5.1 [基本構成] --> [ライフサイクル ルール] をクリックし、[作成] をクリックします。

 

5.2 ライフサイクルルールを作成し、以下に示すように入力します。

オブジェクトの有効期限と削除の日数を 1 日として入力します。これは、1 日が経過するたびに前日のデータが削除されることを意味します。必要に応じて数値を入力し、「OK」をクリックします。 。

 5.3 ライフサイクルルールの作成を完了します。

 

ステップ 6: カスタム ドメイン名をバインドする

6.1 [ドメイン名管理] --> [自動ドメイン名の構成] をクリックします。

 6.2 独自の第 2 レベル ドメイン名を入力し、[OK] をクリックします。

 

6.3 CNAME 名をコピーし、ドメイン名解決プロバイダーにアクセスしてドメイン名解決を完了します。解決が完了したら、[理解しました] をクリックします。

 

ステップ 7: アンチホットリンクを構成する


アンチホットリンクを使用すると、他の Web サイトがリンクを盗むのを防ぎ、OBS の使用コストの増加を回避できます。他の人に公開される場合は、アンチホットリンクを設定しないことも選択できます。

7.1 [アクセス権制御] --> [アンチリーチング] をクリックします。
ホワイトリストのリファラーに Web サイトのドメイン名を入力して他の人が使用できないようにするか、ブラックリストのリファラーに入力して特定の Web サイトへのアクセスを禁止します。

 他のプラットフォーム

Alibaba CloudのOSS(Object Storage)にも同様の機能がありますので、具体的な操作方法についてはAlibaba Cloudの製品ドキュメントを参照してください。

他のクラウドでは試していないので、関連する製品ドキュメントをご自身で確認してください。

Java実装コード

package com.jgravatar;

import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

public class MD5Util {
	public static String hex(byte[] array) {
		StringBuffer sb = new StringBuffer();
		for (int i = 0; i < array.length; ++i) {
			sb.append(Integer.toHexString((array[i] & 0xFF) | 0x100).substring(
					1, 3));
		}
		return sb.toString();
	}

	public static String md5Hex(String message) {
		try {
			MessageDigest md = MessageDigest.getInstance("MD5");
			return hex(md.digest(message.getBytes("CP1252")));
		} catch (NoSuchAlgorithmException e) {
		} catch (UnsupportedEncodingException e) {
		}
		return null;
	}

	public static void main(String[] args) {
		String email = "12";
		String hash = MD5Util.md5Hex(email);
		System.out.println(hash + " " + email.hashCode());
	}
}

おすすめ

転載: blog.csdn.net/qq_22903531/article/details/132097700