酷徒LOGO

在 Nginx 1.15.8中,安装 more_set_headers


问题:

Ubuntu 16服务器- 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

我将 Nginx 添加到 /etc/apt/sources.list 文件中


# nginx


deb http://nginx.org/packages/mainline/ubuntu/xenial nginx


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



有人能给我issue问题?


回答 1:

这就是我在 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 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 重启了服务器

希望这对某人有帮助


回答 2:

查看一下我的教程 ,了解更多关于我如何在Amazon上做到这一点的细节。 我写了一段时间了,我有时会更新它,但是它可以能不是完美的。 我将测试并在收到时再次更新。


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








Copyright © 2011 HelpLib All rights reserved.    知识分享协议 京ICP备17041772号-2  |  如果智培  |  酷兔英语  |  帮酷