スポンサーリンク
FUJIFILMプリント&ギフト/フジフイルムモール
スポンサーリンク
Brandear オークション(ブランディア公式オークション)

Nginx応答ヘッダーのServer名を変更する手順

Nginx

WebサーバーにNginxを使っていて、セキュリティ上、Nginxを使っていることが、ユーザーに分からないようにしたい場合、ngx_http_header_filter_module.c 内のServer名を変更する。

1. rpmビルドに必要なパッケージのインストール

# yum -y install rpmdevtools redhat-lsb-core zlib-devel pcre-devel gcc

2. rpmビルド用ユーザーの作成

# useradd rpmbuilder

3. ユーザーを作成したら、そのユーザーに切り替えて「rpmdev-setuptree」コマンドを実行し、ディレクトリ作成など、ビルドを実行するための初期設定を行います。

# su – rpmbuilder
$ rpmdev-setuptree

4. ソースをダウンロード。

2019/8/1時点で最もベターなバージョン(nginx-1.15.12)をダウンロードする。
nginxのビルドにはOpenSSLのソースコードが必要なので、2019/8/1時点で最もベターなバージョン(openssl-1.1.1c)をダウンロードする。

Nginx

$ curl -L -O https://nginx.org/packages/mainline/centos/7/SRPMS/nginx-1.15.12-1.el7.ngx.src.rpm
$ rpm -ivh nginx-1.15.12-1.el7.ngx.src.rpm

OpenSSL

$ curl -L -O https://www.openssl.org/source/openssl-1.1.1c.tar.gz
$ tar xvfz openssl-1.1.1c.tar.gz

5. ソースコード修正。

5-1. ソースコードを解凍。

$ cd /home/rpmbuilder/rpmbuild/SOURCES/
$ tar -zxvf nginx-1.15.12.tar.gz

5-2. 修正。

$ vi nginx-1.15.12/src/http/ngx_http_header_filter_module.c

修正前

static u_char ngx_http_server_string[] = “Server: nginx” CRLF;
static u_char ngx_http_server_full_string[] = “Server: ” NGINX_VER CRLF;
static u_char ngx_http_server_build_string[] = “Server: ” NGINX_VER_BUILD CRLF;

修正後

static u_char ngx_http_server_string[] = “Server: w” CRLF;
static u_char ngx_http_server_full_string[] = “Server: w” CRLF;
static u_char ngx_http_server_build_string[] = “Server: w” CRLF;

5-3. 修正したソースを圧縮し直す。

$ rm nginx-1.15.12.tar.gz
$ tar -zcvf nginx-1.15.12.tar.gz nginx-1.15.12

5-4. 不要なworkディレクトリを削除。

$ rm -R nginx-1.15.12

6. specファイルの修正

$ vi /home/rpmbuilder/rpmbuild/SPECS/nginx.spec

6-1. 修正箇所1

%if 0%{?rhel} == 7
%define _group System Environment/Daemons
%define epoch 1
Epoch: %{epoch}
Requires(pre): shadow-utils
#Requires: openssl >= 1.0.2 <-コメントアウト
#BuildRequires: openssl-devel >= 1.0.2 <-コメントアウト
%define dist .el7
%endif

6-2. 修正箇所2

修正前

%define BASE_CONFIGURE_ARGS ・・・・ –with-stream_ssl_preread_module”)

修正後

%define BASE_CONFIGURE_ARGS ・・・・ –with-stream_ssl_preread_module –with-openssl=/home/rpmbuilder/openssl-1.1.1c”)

7. rpmパッケージをビルド。 ※5分くらいかかる。

$ rpmbuild -bb /home/rpmbuilder/rpmbuild/SPECS/nginx.spec

生成されたrpmパッケージ -> /home/rpmbuilder/rpmbuild/RPMS/x86_64/nginx-1.15.12-1.el7.ngx.x86_64.rpm

8. ビルドしたrpmパッケージをインストール

$ su –
# yum install /home/rpmbuilder/rpmbuild/RPMS/x86_64/nginx-1.15.12-1.el7.ngx.x86_64.rpm

9. 組み込みモジュールの確認

# nginx -V

10. 起動設定

Nginx のインストールが完了したら、コンピュータ起動時に自動的に Nginx が起動するように設定。

# systemctl enable nginx

11. 起動

# systemctl start nginx

12 サービスの状態確認

# sudo systemctl status nginx
# sudo systemctl is-enabled nginx

13. 内部接続確認

# curl http://localhost

14. ブラウザから外部接続確認

http://192.168.11.31/

1.png

コメント

スポンサーリンク
明日を、もっと、ハッピーに!『ショップジャパン』
スポンサーリンク
AIGLE
タイトルとURLをコピーしました