やること
諸事情によりWEBサーバはHTTPS接続できないけどクライアントからはhttpsにしたい時とかにはリバースプロキシをかませるといいよ!
超シンプルに作るよ!
やり方
- /private/etc/apache2/httpd.conf 以下の3行をアンコメント
httpd.conf
#LoadModule socache_shmcb_module libexec/apache2/mod_socache_shmcb.so
#LoadModule ssl_module libexec/apache2/mod_ssl.so
#Include /private/etc/apache2/extra/httpd-ssl.conf
- いわゆるオレオレ証明書を作成
$ cd /private/etc/apache2
$ sudo openssl genrsa -aes128 -out server.key 2048
$ sudo openssl req -new -key server.key -sha256 -out server.csr
$ sudo openssl x509 -in server.csr -days 365 -req -signkey server.key -sha256 -out server.crt
- /private/etc/apache2/other/reverse_proxy.conf を作成
自機のドメインがhoge.huga.jp, WEBサーバが12.23.24.25とします
reverse_proxy.conf
# reverse proxy
<IfModule mod_proxy.c>
ProxyRequests on
<Proxy *>
Order deny,allow
Allow from All
</Proxy>
<VirtualHost *:443>
ServerName hoge.huga.jp
SSLEngine on
SSLCertificateFile /private/etc/apache2/server.crt
SSLCertificateKeyFile /private/etc/apache2/server.key
SSLProxyEngine on
ProxyPass / http://12.23.24.25/
ProxyPassReverse / http://12.23.24.25/
</VirtualHost>
</IFModule>
- apache再起動
$ sudo apachectl -k restart
server.keyのパスフレーズを聞かれたら入力しよう!