忍者ブログ
開発中に遭遇した落とし穴や忘れそうな事柄を書いた個人メモ
カレンダー
03 2025/04 05
S M T W T F S
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
フリーエリア
最新コメント
[02/03 NONAME]
最新トラックバック
プロフィール
HN:
No Name Ninja
性別:
非公開
バーコード
ブログ内検索
アクセス解析
19
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

BINDのインストールおよびファイル設定後、起動したが失敗する。
/var/log/messagesを確認すると次のログがでていた

May 22 04:56:46 dti-vps-srv30 named[17958]: starting BIND 9.3.6-P1-RedHat-9.3.6-16.P1.el5 -u named -t /var/named/chroot
May 22 04:56:46 dti-vps-srv30 named[17958]: found 1 CPU, using 1 worker thread
May 22 04:56:46 dti-vps-srv30 named[17958]: using up to 4096 sockets
May 22 04:56:46 dti-vps-srv30 named[17958]: loading configuration from '/etc/named.conf'
May 22 04:56:46 dti-vps-srv30 named[17958]: none:0: open: /etc/named.conf: permission denied
May 22 04:56:46 dti-vps-srv30 named[17958]: loading configuration: permission denied
May 22 04:56:46 dti-vps-srv30 named[17958]: exiting (due to fatal error)

/etc/named.conf: permission denied
となっており、/etc/named.confのアクセス件に問題アリ
グループが、rootになっていたため、namedにすることで解決!

rootユーザーで、confファイルをコピーしたため、グループがrootになっていたことが原因
cp /var/named/chroot/etc/named.caching-nameserver.conf /var/named/chroot/etc/named.conf


拍手

PR
azureのSSLを取り扱う時のendpointに関してのメモ

パブリックポートは、ユニークにする必要あり、
SSL証明で、サブドメインをワイルドカード(*)にした場合、
登録中endpointで、同一ドメインのサブドメイン定義されている証明書を
登録したとしても、パブリックポートに関連した証明書チェックは行われないもよう
ワイルドカードドメインが優先されるもよう
証明書にポート指定までされていないんだから、あたりまえかも

拍手


フリーで、証明書を発行しているCAcert.orgの証明書発行手順を記載します

1.事前に
  CAcertのアカウントを作成するためのメールアドレスを用意
  (受信可能なメールアドレスを用意。今回は、専用のメールアドレスを用意しました)

2.CAcertのアカウントを作成
  https://www.cacert.org/index.php
     にて、「Join」から登録
  登録後、対象となるメールアドレスにメールが通知されるので、
  リンクをクリックして、HPへ移動して登録を完了させる

3.ドメインの登録
  証明書を発行したいドメインを登録するする
  この時、発行ドメインの管理者メールアドレスを
  root,admin,hostmaster,postmaster,webmasterより、選択する必要がある。
  もし、管理者のメールアドレスがない場合、上のアドレスからいずれかを作成しておく
  必要がある。登録時、このアドレスにメールが飛んできて、リンクが張られているので
  
  管理者メールのリンクをクリックすることで、HPへ移動して登録を完了させる

4.秘密鍵(key)、申請書(csr)を作成
  今回は、linuxの環境でopensslのコマンドを使って作成しました(linuxのコマンドのほうが手っ取りばやいんで)。
  秘密鍵作成
  # openssl genrsa -out server.key 1024
     申請書作成
     # openssl req -new -key server.key -out url.csr
  申請書は、各URLごとに作成する(秘密鍵は1ついいよ)
  Organization Name:会社名
  Organizational Unit Name:サブドメインの部分(wwwなど)
      Common Name:サブドメイン(www.xxxx.xxx
      Email Address:cacertに登録したメールアドレス

5.証明書の取得
  申請書分の証明書を発行する

拍手

ログインコントロールで、ログインされたユーザー名を取得するには、
Page.User.Identity.Name
で取得できる。

この他、ロールの取得なども、Page.Userクラスのメンバ関数で取得できる
Pageクラスは、各ログインコントロールのプロパティとしてアッタチされているので
コントロール経由でも参照可能

拍手

 一般的にクラスをグローバルエリアで宣言することはあまりないと思うが、グローバル宣言を行うとき、実際に仮想関数のエリアおよびメンバー初期化がどのタイミングで行うかVisualC++のスタートアッププログラムをみて確認する(VisualC++6.0で確認しました)。

実行形式のスタートアッププログラムは、CRTEXE.Cになります。
開始プログラムは、WinMainCRTStartupになります(UNICODEは、wWinMainCRTStartup)
コンストラクターの初期化は、_initterm( __xi_a, __xi_z );で行われています。
(MFCのWinAppのInitInstanceメソッドは、上記もメソッドより後に実行されています)

このなかで、順次グローバル変数の初期化が実行されます(当然、Vテーブルの此処で設定されます)。
注意すべき点は、コンストラクタについては、当然初期化中においてもコードが動作する点です。
グローバル変数で定義されたクラスのメンバ変数は、コンストラクタ処理が実行されていない
間でも、メンバー変数を直接変更できることができるため、注意が必要です。

たとえば、Aのクラスで定義されているメンバ変数を使用するBのクラスを実行動作するものがあるとします
(どちらのクラスもグローバル変数で宣言されています)
この時、Aクラスのコンストラクタ実行前にBのクラスのコンストラクタが実行された場合、
Bのコンストラクター実行後、Aのコンストラクタ実行時にBクラスで必要なAクラスのメンバ変数を
初期化する可能性もでてきます。
このように、コンストラクタ内でコードを実行する際は、細心の注意を払う必要があります(デバッグがとても困難なため)。
ただ、Bのコンストラクタ前に、Aのコンストラクタが実行されれば、問題ないのですが、これはコンパイラーに
依存するため、問題がないとは言えません


拍手

Copyright c 技術メモ All Rights Reserved
Powered by ニンジャブログ  Designed by ピンキー・ローン・ピッグ
忍者ブログ / [PR]