LoginSignup
13
12

More than 5 years have passed since last update.

Apache2のhttpsと、Softetherの443番通信を両立したい

Last updated at Posted at 2018-10-22

Apache2でのWebサーバーをLet's EncryptでSSL化したところ、SoftEther VPN Serverで443番を使った通信が、当然ながら通らなくなってしまいました。

SoftEther自体は443を使わなくても通信ができるのですが、とあるクライアント側のネットワークが443以外使えないということもあり、なんとか443を使ったVPNと、HTTPSを両立させようと、必死になって調べてみましたが、大半が「OpenVPNとSSLHつかって分離!」とかそういう感じで、一切Apache2+SoftEtherの両立に関する情報がありませんでした。

いろいろと調べたり、友人に相談したりした結果、うまく行ったので、やり方を書いておきます。

環境

Debian 9 Stretch
Apacheバージョン:2.4.25
SoftEtherVPNインストール済み

1. SoftEther VPN Serverで443のListenを止める

image.png

443はApacheに明け渡してしまい、SoftEtherからは443を止めてしまいましょう

2. ApacheにproxyのMODを読ませる

sudo /usr/sbin/a2enmod proxy

3. Apacheにバーチャルホストの設定をする

/etc/apache2/sites-available/ に、適当に名前をつけてconfファイルを置きます。
ここではvpn.confとします。

vpn.conf

<VirtualHost *:443>
    ServerName vpn.example.com # 適当にサブドメインかなんかでやっちゃいましょう
    ProxyPreserveHost On
    ProxyPass / vpn.example.com:5555 timeout=3600 # 5555番に転送
</VirtualHost>

これで設定は完了です。

sudo systemctl restart apache2

で再起動

4. 確認

image.png

実際に繋いでみると、サーバー側では443を止めていても、クライアントからは443でつながっていることがわかります。

実際セキュリティがどうなのかはわかりませんが、Apache2でのHTTPS接続と、443番を使わざるを得ない状況でのSoftEtherVPN Serverの両立ができました。

もし同じことで悩んでいる方に役立てば嬉しいです。

13
12
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
12