ネット上のアクセスボリュームをUPさせ効率の良い集客をご提案します。

カテゴリー「Linux Tips」の記事

https化で出てくる問題(https化した途端にmod_rewriteが効かなくなってしまう)

 / Linux Tips, Wordpress, wordpressテクニカル, トピックス, ノウハウ


Google Chromeの7月リリースバージョンでいよいよサイトのALL SSL化が始まる。
これによりhttpに対応していないサイトは「このサイトは安全でない」の画面が出てしまう。今でも
稀に見ることがある画面ですが、あの画面がでてしまったら当然誰もクリックor タップしないでしょう 。

ということでSSL化をしなければ行けないわけだけど、もう一つこれには考慮が必要なことに気づいた。
スマホとPCコンテンツを分離して作成している場合はアノテーション設定が必要だが、モバイルファーストインデックスも
開始宣言(2/21)が出ているし、何よりもアノテーション設定でURLをhttpsに変更しなければならない。

※レスポンシブで制作している場合は気にする必要はありません。WORDPRESSでデバイスプラグインを使っている人も問題なし

ということでSSL化をやってみると色々な新規顧客である特有の問題が出た。
一番ハマったのが、「https化した途端にmod_rewriteが効かなくなってしまう。httpのときにはmod_rewrite使えたのに!」という現象のサーバが幾つかあった。
つまりWORDPRESSなどではカスタムパーマリンクが使えなくなってしまう現象に遭遇しました。

原因を調べるために、約1日考え込み実験をしまくりました。
や~、これは気が付かなかった。httpd.confを普段触らずVirtualHostでサイト定義するから頭がそちらに向かなかった。
なんとhttpd.confを調べたら下記のようになっているではないですか! なるほど、それではTOPからその設定になっていると
下位で設定したコンフィグは無視されますね!

httpd.conf 修正前)

httpd.conf CentOSの場合修正後)

apache2.conf Ubuntuの場合修正後)



apacheを再起動してめでたくmod_rewriteがSSLで使えるようになりました。
上記の設定はDirectoryディレクティブを使用しているため、適切に範囲設定をその環境内で
望ましい設定を厳密には行う必要があります。上記のケースでは”/”でAllowOverride Allにしているためセキュリティを
高くするためにはフォルダーの範囲をもう少し狭めたほうが良い場合もあるので実験して良いバランスの設定を考慮スべきと思います。

他にも、https化で出てくる作業が多いのでメモをしておきます。

https化で遭遇する付帯作業

  • Google Search Consoleにhttpsでサイト登録が必要
  • 旧httpアドレスがインデックスされたり、他サイトと連携している場合はhttpアドレスからhttps転送設定が必要
  • 転送設定をjavascriptでやる場合は注意が必要。コンバージョンが拾えなくなる可能性がある。リファラーを追加する設定が必要かも
  • Google Analysticsの管理画面でプロパティ、ビューのURLをhttpsに切り替える。ビューのコンバージョンURLも変更。
  • sitemap.xmlをhttpsのアドレスになっているかチェック、なっていなかったら作り直し
  • WORDPRESSのプラグイン経由でanalysticsを設定、取得している場合は再設定が必要になる場合が多い

delegated Reverse Proxy SSL接続 ワンライナーWEBサーバとの連携にどうぞ!

 / Linux Tips, Security Tips, テクニカル, トピックス, ノウハウ


昔からある和製ProxyサーバDelegated Proxy Server。海外のオープンソースがひしめく中で高機能で堅牢なProxyサーバです。他のProxy Serverにはない機能が沢山あり使う度にこんなこともできるんだと感心することもあります。今回の投稿ではこの和製ProxyサーバでSSL接続する方法を紹介したいと思います。


まずはdelegated proxyサーバをダウンロードしましょう。ソースからコンパイルして使うのが良いですね。CentOSというかRedHat系はすんなりコンパイルできますが、Ubuntuは古いバージョンのDelegatedでないと確実にエラーが発生しますので、最新のDelegatedバージョンを入れるならバイナリーをダウンロードして設置しsslwayだけRedhat系でコンパイルしたものを持ってきて使うのが簡単です。当方で確認した限りでは特に問題なくこのやり方でSSLの接続動作しました。何故かsslwayはバイナリーパッケージにはバンドルされていなかった。

Delegated ダウンロード公式ページ(source) Delegated ダウンロード公式ページ (Binary)

※現在の最新は9.9.13でソースからコンパイルするならdelegate9.9.13.tar.gzをダウンロードしてください。

コンパイルの仕方

直接起動スクリプトにパラメータを設定してdelegatedを起動する場合の必要最低限のインストール

Reverse Proxy構成例


起動スクリプトの準備

下記は内部8080ポートで起動しているWEBサーバにproxy転送する場合だ。最近のプログラム言語は自前でWEBサーバが起動できるケースが殆どなので、マルチスレッドで内部WEBサーバを立てローカルホストでListen起動させておけば余計なポート&アドレスへの攻撃から遮断した上で本格的なSSL接続仕様にできる。
Reverse Proxy仕様でSSLを行う場合のメリットは元のサーバのソースコードを弄らなくて良いところ、そして堅牢性に不安がある場合にある一定の防御壁として動作してくれるため通常の外部WSGIサーバ連携などよりもいい場合もある。やはりケースバイケースのSSL接続の方式選択があると思う。

このケースではSSLの証明書は作成時にパスワード無しで処理しているがパスワード付きで証明書を生成しているなら「-pass file:path」or 「-pass pass:password」をsslwayの引数指定で設定すれば問題ない。尚「POODLE」攻撃を防ぐ施策として「-tls1 -tls1_1 -tls1_2 -no_ssl23」の指定を行っている。このパラメータは本サイトで紹介されていないので非公開のスイッチかもしれない。ソースコードから調査して見つけました。ペネトレーションテストでも調査済みで有効なSSLスイッチでした。またCipherSuiteに関しても環境変数(SSL_CIPHER)で指定できることがわかりましたのでご紹介しています。

SSL証明書の指定は-certと-keyが使えるので、もしCA rootの証明書があるならサーバ証明書「-cert」のファイルにサーバ証明書とCA root証明書を結合して設置すればOK。

実行権を付与しdelegatedの起動

Linux環境でのメジャー動画サイトの再生 in Vialdi,Operaブラウザー

 / Linux Tips, テクニカル, トピックス, ノウハウ


個人的に動画サイトで映画を見たりするのが好きなのだが、Linuxで観るととなったときにハードルが若干あがります。

例えば、現在のFirefox,Chromeなどは比較的簡単に再生できる(WideVineなどのモジュールが最初から導入されているため)のですが これがChromiumやVivaldi,Operaブラウザーを使うとなると敷居が若干上がってきます。


もちろん、Firefox,Chromeで観れば問題ないのですがよくあるケースはレガシーな古いパソコンにLinuxを導入して使っているケースです。

そうすると、Firefox、Chromeでは動画再生で線が入ったり、カクカク動いたりすることもしばしば。でもViavldi,Operaブラウザーは非常に高速で動作しビデオ描画も十分なレベルで表示します。 これらのブラウザーも最初からWideVineが導入されておりますがどうもNetflix,Amazon videoではエラーになったりするため、何が原因か調べてみました。

調べてわかった事は、libffmpeg.soのモジュールが導入されてなかったり、古くて最近の新進の動画サイトにアダプターできない事がわかりました。

残念ながら、多くのサイトにapt-get,wgetで”chromium-codecs-ffmpeg-extra”を取得する方法が案内されてますが既に古くなっており導入できません。

調べたところ下記GitHubから取得できる事がわかりました。 「https://github.com/iteufel/nwjs-ffmpeg-prebuilt/releases」 こちらから、例えば0.26.6-linux-x64.zip(Linux 64bit OSの場合)をダウンロードしてlibffmpeg.soを抽出し所定の場所へコピーすると動作します。

vivaldiの場合

※WideVineは既にchrome browserがインストールされている必要があります。vivaldiではそこを参照しソフトリンクが貼られます。

先程の0.26.6-linux-x64.zipをダウンロードし、libffmepg.soを配置します。既にある場合は既存のライブラリーをリネームして置き換えてください。

コピー先のパス: /opt/vivaldi/lib/libffmpeg.so

Operaの場合

※WideVineは既にchrome browserがインストールされている必要があります。operaではそこを参照してjavascriptでロードしています。

下記フォルダー直下に先程の0.26.6-linux-x64.zipをダウンロードし、libffmepg.soを配置します。

コピー先のパスその1パターン(Distrubutionにより異なる): /usr/lib/x86_64-linux-gnu/opera

コピー先のパスその2パターン(Distrubutionにより異なる): /usr/lib/opera

Chromiumの場合

※WideVineは既にchrome browserがインストールされている必要があります。chromiumではそこを参照しソフトリンクが貼られます。

もし、chromiumが先にインストールされている場合は自分で手動で/opt/google/chromeからwidevineのモジュールからchromiumのフォルダーへソフトリンクを貼るのも良いでしょう。

タグ: , , , , , , ,

Apacheの未定義ドメインリクエストURLの落とし穴を埋める

 / Linux Tips, テクニカル, トピックス, ノウハウ


Apacheサーバを運営してありがちな失敗ネタをひとつ。専用サーバを借りてサーバ運営しているとVirtual Hostsに意識が行き過ぎて自分で Virtual 側で定義したドメインしかリクエストが来ないと思ってしまう。

でも実際はそうではありません。IPアドレスでURLを入力したり、定義していないVirtualドメインでURLを入力されたら全く想定していないコンテンツが表示されることがよく有ります。このケースでは設定を見直したりするのは中々骨が折れる作業なので、最も簡単な回避策は下記のvirtual hostsを新規で作り起動しておくと良いです。未定義のドメインやIPできたアクセスは直ぐに他のホストへ転送してくれます。

IPアドレスの汚染はGoogleの検索表示に影響する。

 / Linux Tips, トピックス


近年、プロバイダー関連の問題で賑やかになっている話題の一つにIPアドレスの汚染があります。

IPアドレスの汚染とはどういうものなのか解説すると、 過去にそのプロバイダーで悪いことをした輩が退会します。すると時期を置いて、再度入会し取得したサーバへいつかその時使われたIPがアサインされます。

しかし、同時に悪いことをした輩の残骸があり、色々困った問題が引き起ります。

具体例を挙げると

  • 既にそのIPがメールスパムのブラックリストDBに登録されているケースがある
  • 既にそのIPがWEBサーバのブラックリストDBに登録されているケースがある
  • Googleの要注意IPに指定されている。

つまり、折角構築したサーバーとコンテンツが汚れて機能しない事態が発生します。

だから、ISPと契約した場合、真っ先に渡されたIPが汚れていないか調べ、汚れていたら変更してもらう交渉をしないと駄目です。変更を拒否するプロバイダーもあるかもしれません。尚、これは専用サーバの場合の話です。共有サーバの場合はIPアドレス変更はそう簡単にはできないため問題解決に時間がかかると思います。

専用サーバの場合は、ブラックリストに載っていることを証明できれば渋々変えてくれるでしょう。

尚、WEBコンテンツだけ載せるサーバであればメールのスパムブラックリストに載っていても問題ありません。

チェックが可能なサービス

タグ: ,

TOPへ戻る

AGA 成長因子