忍者ブログ

開発者ブログ

忍者ブログの元開発者が送る愛と感動と涙のスペクタクル。プログラムの開発日誌やタダの日記です。

[PR]

×

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

実は

まだ働いています。生きてます。

近々久しぶりに忍者ブログもやる予定です。
アダルトがオッケーになるらしいですよ。
ブログで何かして欲しいこととかあれば教えてくださいね。

拍手[2回]

PR

忍者画像RSSのリニューアル!?

超久しぶりのブログ投稿。
ここ最近は忍者画像RSSを色々とごにょごにょしています。
もう少し相互RSSの色を強くしたいと考えておりまして、その辺の機能強化を図っています。

万が一この記事をご覧になって、万が一相互RSS興味あるぜ!!って方がいて、万が一素敵なアイデアをお持ちでしたら、是非ご一報ください。

拍手[1回]

わたくしごとなはなし

こんばんは。
misneyです。

今年から忍者ツールズの方に戻りまして早8か月ほどが過ぎました。
久しぶりに忍者ブログのソースをちょこちょこ弄っております。
忍者ブログは今年10周年(だったと思う)です。
うーん。時間の流れが速い。

こんな私でも、実は子供が二人ほどいまして、上の子はもう6歳になります。
しばらく忍者ツールズを離れている間に気付いたら6歳なんですよね。
うん。こちらも早い。

息子の成長の早さに驚き周りの技術や環境も凄まじい速さで進化していて、ちょっと困惑したりもしています。

けれど、この早さが楽しく、逆に楽しいから早いのかなと思っています。
きっとつまらなく感じたら時間の進みももう少しゆっくり感じられるのかも知れない。
ゆっくりな時間を楽しむなんてそんなおっさんみたいな・・・・
気づいたら40超えたおっさんになっていたのですが、もっと貪欲に色々と楽しみたい年頃です。

これからもプライベートも仕事も楽しんでいきたいと思います。




という投稿テスト。

拍手[3回]

Let's Encryptの話

SSL証明書を無料で発行!という言葉につられてやってみました。
Let's Encrypt、無料って最高。

個人用のサーバーで個人用のドメインによるテスト。
CentOS7、Apache2.4という環境。

まずはHow it workを見てチャレンジ
# git clone https://github.com/letsencrypt/letsencrypt
# cd ./letsencrypt
# ./letsencrypt-auto --help
# ./letsencrypt-auto certonly --standalone -d 登録したいドメイン
これで登録完了。

--standaloneオプションだとGUIでメールアドレスの入力などを求められたりする。
GUIではメアドの入力や規約確認などを行います。

80番ポートが空いてないと、途中で失敗します。
systemctl stop httpdなどとしてデーモンを止めておくか./--http-01-port 8080オプション設定でポートを変えておく必要がありそう。
私はNAT的に上手く通らず、素直に停止しました。


登録完了後はhttpd.confにSSL設定確認。
opensslとかは./letsencrypt-auto --helpをたたいた時に勝手に入る。
apacheだと/etc/httpd/conf.d/ssl.confとかで設定
SSLCertificateFile /etc/letsencrypt/live/登録したドメイン/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/登録したドメイン/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/登録したドメイン/chain.pem
終わったらリロード。https://登録したいドメイン/にアクセスして動作確認。
# systemctl reload httpd

はまったところ

--webrootで更新自動化をやってみた。
# ./letsencrypt-auto certonly --webroot -d 登録したドメイン --webroot-path HTTPDのドキュメントルート --renew-by-default --debug
Traceback (most recent call last):
File "/root/.local/share/letsencrypt/bin/letsencrypt", line 11, in <module>
sys.exit(main())
File "/root/.local/share/letsencrypt/lib/python2.7/site-packages/letsencrypt/cli.py", line 1454, in main
return args.func(args, config, plugins)
File "/root/.local/share/letsencrypt/lib/python2.7/site-packages/letsencrypt/cli.py", line 639, in obtain_cert
_auth_from_domains(le_client, config, domains)
File "/root/.local/share/letsencrypt/lib/python2.7/site-packages/letsencrypt/cli.py", line 405, in _auth_from_domains
new_certr, new_chain, new_key, _ = le_client.obtain_certificate(domains)
File "/root/.local/share/letsencrypt/lib/python2.7/site-packages/letsencrypt/client.py", line 266, in obtain_certificate
return self._obtain_certificate(domains, csr) + (key, csr)
File "/root/.local/share/letsencrypt/lib/python2.7/site-packages/letsencrypt/client.py", line 224, in _obtain_certificate
authzr = self.auth_handler.get_authorizations(domains)
File "/root/.local/share/letsencrypt/lib/python2.7/site-packages/letsencrypt/auth_handler.py", line 84, in get_authorizations
self._respond(cont_resp, dv_resp, best_effort)
File "/root/.local/share/letsencrypt/lib/python2.7/site-packages/letsencrypt/auth_handler.py", line 142, in _respond
self._poll_challenges(chall_update, best_effort)
File "/root/.local/share/letsencrypt/lib/python2.7/site-packages/letsencrypt/auth_handler.py", line 204, in _poll_challenges
raise errors.FailedChallenges(all_failed_achalls)
FailedChallenges: Failed authorization procedure. *********.com (http-01): urn:acme:error:unauthorized :: The client lacks sufficient authorization :: Error parsing key authorization file: Invalid key authorization: 1 parts

IMPORTANT NOTES:
- The following errors were reported by the server:

Domain: 登録したドメイン
Type: urn:acme:error:unauthorized
Detail: Error parsing key authorization file: Invalid key
authorization: 1 parts
こんなエラーで怒られる。

Document Root/.well-known/acme-challenge/なパスが出来ており、
ここにアクセスが来て何か確認してるっぽい。
66.133.109.36 - - [03/Feb/2016:17:12:29 +0900] "GET /.well-known/acme-challenge/E_BM-w0gntstIOrD7as7pIBwI5zSGSLq6Xr28yCdJt0 HTTP/1.1" 200 87 "-" "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"
こんなのがくる。
どうやら HTTP STATUS 200で返してしまうのが問題のよう。

Wordpressもそうじゃないかな?と思うのですが、.htaccessやhttpd.confの設定ファイルで、mod_rewriteやScriptAliasなどによってパスの変更設定等をしていると、実際にはないのに404以外のステータスが返ります。

恐らくAllow denyによる403やLocationによる302などでも同じで、404が返らないとだめなのではないかと思う。
RewriteEngine On
RewriteBase /wp/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wp/index.php [L]
上記のような設定(サンプル)を下記の1行を追加で回避。
RewriteEngine On
RewriteBase /wp/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !.well-known/
RewriteRule . /wp/index.php [L]
もう一度コマンドを叩いて、更新されることを確認

# letsencrypt-auto certonly --webroot -d 登録したドメイン --webroot-path HTTPDのドキュメントルート --renew-by-default --debug

IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at
/etc/letsencrypt/live/登録したドメイン/fullchain.pem. Your cert will expire
on 2016-05-03. To obtain a new version of the certificate in the
future, simply run Let's Encrypt again.
- If you like Let's Encrypt, please consider supporting our work by:

Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le

# cd /
# cd /etc/letsencrypt/archive/登録したドメイン/
# ls -l
合計 32
-rw-r--r-- 1 root root 1777 2月 2 16:30 cert1.pem
-rw-r--r-- 1 root root 1777 2月 3 17:12 cert2.pem
-rw-r--r-- 1 root root 1675 2月 2 16:30 chain1.pem
-rw-r--r-- 1 root root 1675 2月 3 17:12 chain2.pem
-rw-r--r-- 1 root root 3452 2月 2 16:30 fullchain1.pem
-rw-r--r-- 1 root root 3452 2月 3 17:12 fullchain2.pem
-rw-r--r-- 1 root root 1704 2月 2 16:30 privkey1.pem
-rw-r--r-- 1 root root 1704 2月 3 17:12 privkey2.pem
※/etc/letsencrypt/live/登録したドメイン/****.pemは /etc/letsencrypt/archive/*****2.pemなどへのリンク

cronなどで下記の設定をして終了。
0 5 1 * * /Path/to/letsencrypt-auto certonly --webroot -d 登録したドメイン --webroot-path HTTPDのドキュメントルート --renew-by-default --debug >> /var/log/letsencrypt/letsencrypt.log && /bin/systemctl reload httpd
こちらのサイトが大変参考になりました。


そのうちサービスにも適用したい。

拍手[1回]

Shinobiライティング卒業について

とても私事なのですが、久しぶりに忍者ツールズ事業の方に戻ることになりました。

2013年8月頃より携わったShinobiライティング。
志半ばなところではありますが、後人の方にお任せすることになりました。

2013年当初より感じたライター向けの機能追加や改善は、思ったように進めることが出来ませんでした。
ひとえに私の不徳の致すところです。
Shinobiライティングというサービスは、クライアントにもライターにも認められなければ成り立たない事業です。
至らない点も多々ありますが、引き続きご愛顧いただければ幸いです。


私の次の担当は忍者ツールズ全般。
主にアクセス解析になる予定です。

忍者ツールズにいたのは5年位前でしょうか。
久しぶりにコンシューマー向けのサービスで勘が鈍っていそうですが、次こそは良いサービスを作れるように努力しようと思います。

拍手[5回]

画像RSS

おまとめボタン

忍者カウンター

忍者ビジター

忍者アド

ブログ内検索

最新コメント

プロフィール

HN:
mizuno
HP:
性別:
男性
職業:
主に侍などを少々
趣味:
競馬
自己紹介:
母子手帳の仮死と書かれてる場所に丸されてます。

フリーエリア

忍者ツールズプロフィール

忍者ツールズプロフィールは終了しました