1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

nginxでHTTP(S)以外で通信するリバースプロキシを立てる

Last updated at Posted at 2020-10-02

Qiitaや他のブログにはHTTP(s)で通信するリバースプロキシサーバーの構築手法はよく掲載されています。しかし、http以外のtcp/udpで通信するリバプロの構築方法を見つけることは難しく苦労したので、こちらに記しておきます。

環境はAWSのEC2(Amazon Linux 2)を用いました。

nginxをインストールする

まずは最新版のnginxをインストールします。この際、yumでインストールするのではなくwgetでビルドする必要があります。

$ wget http://nginx.org/download/nginx-1.19.2.tar.gz 
$ tar zxvf nginx-1.19.2.tar.gz
$ cd nginx-1.19.2
$ ./configure --modules-path=/usr/local/nginx/modules --with-stream

ここで、なんやかんや怒られるので足りないものをその都度yumでインストールしましょう。

$ yum install gcc
$ yum -y install pcre-devel
$ yum -y install zlib-devel

これで通ると思います。そのあと、makeしてinstall。

$ make
$ make install 

nginx.confの設定

まずはnginxを起動しましょう。

$ sudo /usr/local/nginx/sbin/nginx

次に設定ファイルをいじります。

$ vi /usr/local/nginx/conf/nginx.conf

httpのところは#でコメントアウトしてしまいます。

nginx.conf
# http{---略---
# }

stream {
    upstream mcserver {
        server {送信先IP}:{送信先ポート番号};
    }
      server {
        listen   {受信ポート番号};
        proxy_pass mcserver;
        allow {許可するIPアドレス};
        deny all;
    }
}

あとは再読み込みすれば反映されます。

#リロード
$ /usr/local/nginx/sbin/nginx -s reload
#終了
$ /usr/local/nginx/sbin/nginx -s stop
#起動
$ /usr/local/nginx/sbin/nginx
1
1
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
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?