LoginSignup
5
7

More than 5 years have passed since last update.

自宅の検証環境にNginxによるForward Porxyを構築する

Last updated at Posted at 2019-03-05

自宅環境にNginxによるForward Porxyを導入した際の手順とかをまとめてみます。
実は自宅外の勉強会等で検証用MacBookProを持ち出し、現地で作業する際に非セキュアなフリーWiFiや、提供されたWiFiでは自宅のIPアドレスセグメントに接続する形式では不都合が生じるからです。
ということで、MacBookPro内に検証LANをホストオンリーネットワークとして構築し、検証LAN内にForward Proxyを置き、検証LANからは必ずForward Proxyを経由する方式にします。

ソフトウェア

  • CentOS Linux release 7.6.1810 (Core)
  • Nginx 1.14.2

構築手順

構築した際の手順は下記の通りです。

Nginxのリポジトリを追加

Nginxのリポジトリを追加します。
CentOSとRHELではURLパスが異なるので注意しましょう。
詳しくはNginx(公式)のInstallを読んでください。

$ sudo vi /etc/yum.repos.d/nginx.repo
nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1

Nginxをインストール

$ sudo yum install nginx

Forward Proxyの設定ファイルを作成

作成するファイルと内容は下記の通りです。
ファイル名は何でも良いですが、機能ごとに分けて管理します。

$ sudo vi /etc/nginx/conf.d/forward-proxy.conf
forward-proxy.conf
server {
    # Proxy Server port
    listen 3128;

    # DNS server
    resolver         8.8.8.8;
    resolver_timeout 5s;

    location / {
        proxy_pass $scheme://$http_host$request_uri;
    }
}

設定ファイルのチェック

$ sudo /usr/sbin/nginx -t

Nginxの起動と自動起動の設定

$ sudo systemctl start nginx
$ sudo systemctl enable nginx

Proxyのテスト

yumの通信が正しく行えるか確認してみます。
まずは他のサーバのyum.confにproxyの設定を入れます。

$ sudo vi /etc/yum.conf
yum.conf
proxy=http://プロキシサーバのIP:3128

yum updateコマンドでうまく通過するか確認する。

$ sudo yum update

成功です!

ちょっとハマったところ

1. Nginxが起動しない

forward-proxy.confを作成し、Nginxをstartさせた際、何故か起動に失敗しました。

nginx: [emerg] bind() to 0.0.0.0:3128 failed (13: Permission denied)

と表示されていて、ピンときて/var/log/audit/audit.logを見るとSE Linuxで弾かれてました。とりあえずはSE Linuxを無効化して対応です。

2. Forward Proxyが通過できない

Forward ProxyのサーバでFirewalldが動いていて接続ができない状態でした。
忘れずに止めるか許可する設定を入れましょう。私は止めました。

$ sudo systemctl stop firewalld
$ sudo systemctl disable firewalld

参考サイト

SIOS TECH.LAB "Nginxを使ってみよう"
Nginx(公式) Install

5
7
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
5
7