web-dev-qa-db-ja.com

nginx 1.15.8にmore_set_headersをインストールします

Ubuntu 16 Server-load_module modules/ngx_http_headers_more_filter_module.soは、フレッシュインストールでは機能しません。

root@ /etc/nginx # nginx -V
nginx version: nginx/1.15.8
built by gcc 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.10)
built with OpenSSL 1.0.2g  1 Mar 2016
TLS SNI support enabled
configure arguments: --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx --with-compat --with-file-aio --with-threads --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_mp4_module --with-http_random_index_module --with-http_realip_module --with-http_secure_link_module --with-http_slice_module --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --with-http_v2_module --with-mail --with-mail_ssl_module --with-stream --with-stream_realip_module --with-stream_ssl_module --with-stream_ssl_preread_module --with-cc-opt='-g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fPIC' --with-ld-opt='-Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -pie'

nginx-extrasをインストールしようとすると、依存関係エラーが表示されます。

root@ /etc/nginx # apt-get install nginx-extras
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 nginx-extras : Depends: nginx-common (= 1.10.3-0ubuntu0.16.04.3) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

依存関係を満たすために、nginx 1.10に戻ります

/etc/apt/sources.listファイルに追加してnginxをインストールしました

# nginx
deb http://nginx.org/packages/mainline/ubuntu/ xenial nginx
deb-src http://nginx.org/packages/mainline/ubuntu/ xenial nginx

誰かが私の問題に光を当てることはできますか?

1
Curious Sam

これは、Ubuntu 16.04でmore_set_headersを有効にするために行ったものです。

#  I backed up my nginx folder to home
tar -czvf /home/nginx.tar.gz /etc/nginx
#  I removed then purged nginx - not sure if both are necessary
Sudo apt remove nginx
Sudo apt autoremove
Sudo apt purge nginx
#  I removed all nginx entries from /etc/apt/sources.list
nano /etc/apt/sources.list
#  I did an apt-update and installed nginx
Sudo apt update
Sudo apt upgrade
Sudo apt install nginx
nginx -v
#  I upgraded nginx to the latest stable
Sudo apt install software-properties-common
nginx=stable 
Sudo add-apt-repository ppa:nginx/$nginx
Sudo apt update
Sudo apt dist-upgrade
nginx -v
#  I installed nginx-extras
Sudo apt install nginx-extras

/etc/nginx/nginx.confを編集し、最初の行として追加しました
load_module modules/ngx_http_headers_more_filter_module.so;

次に、httpブロックに追加しました
more_set_headers Server: Uber;

私の構成がnginx -tで問題ないかどうかを確認しました
service nginx restartを使用してサーバーを再起動しました

これが誰かを助けることを願っています

4
Curious Sam

Amazon Linux(Centos/Red Hatと同様)でこれをどのように実行したかについての詳細は、私のチュートリアル here を参照してください。これはしばらく前に書いたもので、時々更新していますが、完全ではないかもしれません。私はそれをテストし、時間のあるときにもう一度更新します。

cd /home/ec2-user
mkdir nginx-build
cd nginx-build
service nginx stop
yum groupinstall "Development Tools"
yum install pcre-devel zlib-devel openssl-devel
wget http://nginx.org/download/nginx-1.15.8.tar.gz
wget http://labs.frickle.com/files/ngx_cache_purge-2.3.tar.gz
git clone https://github.com/openresty/headers-more-nginx-module.git

tar -xzf nginx-1.15.8.tar.gz
tar -xzf v0.33.tar.gz


# Includes some machine specific optimisations
./configure --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx --with-http_ssl_module --with-http_realip_module --with-http_gunzip_module --with-http_gzip_static_module --with-threads --with-file-aio --with-http_v2_module --with-cc-opt='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=native' --add-module=../ngx_cache_purge-2.3 --add-module=../headers-more-nginx-module
make && make install
make clean  (NB: optional)
service nginx start
0
Tim