質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

解決済

1回答

5852閲覧

ポート指定したVitualHostをオレオレ証明書を用いて認証をする

hagetak

総合スコア16

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

0クリップ

投稿2015/08/30 14:17

課題(解決したいこと)

8080ポートのみオレオレ証明書の認証したい。

VitualHostを用いて、

rails_app -> 100.100.100.100:80(認証なしでアクセスできるように)
php_app -> 100.100.100.100:8080(認証するように)

したい。

現状

環境

httpd -v

Server version: Apache/2.2.15 (Unix) Server built: Aug 24 2015 17:52:49

8080ポートのPHPアプリ

vim httpd.conf

<VirtualHost 100.100.100.100:8080> ServerName 100.100.100.100:8080/trac DocumentRoot /var/www/html/trac/ <Directory /var/www/html/trac/> PassengerEnabled Off AllowOverride All Options -MultiViews </Directory> </VirtualHost>

80ポートで展開しているRails_app

vim passenger.conf

<VirtualHost *:80> ServerName rails_app.com DocumentRoot /var/www/rails_app/public RailsEnv production <Directory "/var/www/rails_app/public"> AllowOverride all Options -MultiViews allow from ALL </Directory> </VirtualHost>

オレオレ証明書のconf

vim ssl.conf

LoadModule ssl_module modules/mod_ssl.so Listen 443 AddType application/x-x509-ca-cert .crt AddType application/x-pkcs7-crl .crl SSLPassPhraseDialog builtin SSLSessionCache shmcb:/var/cache/mod_ssl/scache(512000) SSLSessionCacheTimeout 300 SSLMutex default SSLRandomSeed startup file:/dev/urandom 256 SSLRandomSeed connect builtin SSLCryptoDevice builtin <VirtualHost _default_:443> ErrorLog logs/ssl_error_log TransferLog logs/ssl_access_log LogLevel warn SSLEngine on SSLProtocol all -SSLv2 SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW # SSLCertificateFile /etc/pki/tls/certs/localhost.crt # SSLCertificateKeyFile /etc/pki/tls/private/localhost.key SSLCertificateFile /etc/httpd/conf/server.crt SSLCertificateKeyFile /etc/httpd/conf/server.key <Files ~ "\.(cgi|shtml|phtml|php3?)$"> SSLOptions +StdEnvVars </Files> <Directory "/var/www/cgi-bin"> SSLOptions +StdEnvVars </Directory> SetEnvIf User-Agent ".*MSIE.*" \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0 CustomLog logs/ssl_request_log \ "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b" </VirtualHost>

オレオレ証明書の作成は以下のサイトを参考にした。
http://d.hatena.ne.jp/ozuma/20130511/1368284304
http://www.maruko2.com/mw/Apache/SSL%E8%87%AA%E5%B7%B1%E8%A8%BC%E6%98%8E%E6%9B%B8%E3%81%AE%E4%BD%9C%E6%88%90%E3%81%A8mod_ssl%E3%81%AE%E8%A8%AD%E5%AE%9A
http://www.webtech.co.jp/blog/optpix_labs/server/1780/

結果

https://100.100.100.100:8080にアクセスすると

Google Chrome --- SSL 接続エラー ERR_SSL_PROTOCOL_ERROR

オレオレ証明書が適用されていない。

https://hogehoge.com:80にアクセスすると

SSL 接続エラー ERR_SSL_PROTOCOL_ERROR

詳細設定からアクセスすることができるので、オレオレ証明書は適用されている。

ちなみに、

http://100.100.100.100:8080にアクセスすると、

通常通りにアクセスすることができる(apacheが起動した画面になっている)

http://hogehoge.com:80にアクセスすると

通常通りにアクセスすることができる。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

ssl.conf

1<VirtualHost _default_:443>

の所を、

passenger.confより抽出

1<VirtualHost 100.100.100.100:8080> 2 ServerName 100.100.100.100:8080/trac 3 DocumentRoot /var/www/html/trac/ 4 <Directory /var/www/html/trac/> 5 PassengerEnabled Off 6 AllowOverride All 7 Options -MultiViews 8 </Directory>

に、されると:80はSSLアクセスではなくなり、:8080だけSSL接続となると思います。
ssl.confをそのまま修正された場合は、passenger.conf があると、IP-Portの
バインド失敗エラーがでちゃうので、passenger.conf は退避してください。

投稿2015/08/30 15:45

Ken.sakanakana

総合スコア1768

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hagetak

2015/08/31 01:06

無事解決することが出来ました。お早い回答ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問