【ネットワーク】ポート開放ができないマンションなど環境でサーバ公開する方法

マンションなどの場合は、ポート開放できなかったりの制限があるので、一般的なルートで自宅サーバを公開することができないです。
ただ、以下のような構成にすることで間接的に自宅サーバを公開することができます
VPNサーバでWebサーバを公開し、リバースプロキシして、内部のサーバにルーティングをします。
内部のサーバVPNクライアントとして、VPNサーバに接続することで、お互いに通信できるようにします。
まず、VPNサーバを構築します。
OpenVPNをインストール
有志の方が提供してくれているOpenVPNインストールスクリプトを実行します。
ipv6だけオフにしてます。
1194ポートを解放します。
ovpnファイルが/rootにできていると思うので、それを回収します。
duplicate-cnは一つのプロファイルを複数クライアントで使いまわすことができる。厳密にいうと、秘密鍵を使いまわすことを許容するというもの。
client-to-clientは、通常はクライアントからサーバへの通信のみだけれど、その逆も許可するというもの。今回の設定では必要。
/etc/openvpn/server.conf
リバースプロキシとしてNginxをインストールします。
/etc/nginx/nginx.confに追記します。
upstreamで指定するサーバは内部サーバのIPを指定する。
続いて、内部サーバを作ります。
openvpnclientをインストール
VPNサーバに接続
ipアドレスを確認すると、tun0というネットワークインターフェースが登場しているはず。
この状態であればVPN接続OK。
テスト用にhttpdをインストール
VPNサーバのIP:8080にアクセスすると、ApacheのWelcomeページが表示されるはず。