はじめに

SoftEther VPNはSSL(port443)を使うことができることがメリットの一つで、httpとhttpsしか通さないファイアーウォールを貫通するVPNを設定することができる。

SoftEther VPNは他のportを使うこともできるが、上記のような環境ではport443一択となる。問題は、SSLサーバ(port443)との共存ができないことだが、SSLのport (virtual hostのport)を変更してこの問題を回避できる。

環境

  • OS: Debian 9
  • http サーバ: apache2
  • SSL化: certbot

SSL化

a2enmodでSSLモジュール導入後に、certbotでSSL化をする。

しかし、このままでは、port443 をactiveにしたSoftEther VPNサーバでは、apache2が起動に失敗する(port443が競合するため)。逆にSSLサーバを先に立ち上げると、VPNサーバが動作しない。

httpsのポート変更

sites-enabled/000-default.confにSSL化したhttpサーバ設定がある場合、certbotは、000-default-le-ssl.confを作成するが、ポートをデフォルトの443にしているため、これを他のport番号(例では8080)に変更する。また、ports.confでのポート設定(port443)も変更する。

変更後 000-default-le-ssl.conf
<IfModule mod_ssl.c>
#<VirtualHost *:443>
<VirtualHost *:8080>
...
</VirtualHost>
</IfModule>
変更後ports.conf
<IfModule ssl_module>
 #       Listen 443
         Listen 8080
 </IfModule>

ポート変更したSSLサーバ

https://example.com:8080/

でポート変更したSSLサーバにアクセスできる。