Ubuntu
在 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
我通過添加到
/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
有人可以闡明我的問題嗎?
這就是我在 Ubuntu 16.04 上啟用 more_set_headers 所做的,因為該模組是一個額外的模組,而不是由 nginx 創建的,如下面的@MichaelHampton 所述。在他的指導下,我能夠使用 more_set_headers 安裝 nginx。
#== 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 #== I checked the version that was installed nginx -v #== I then 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 #== I then 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
作為最後的檢查,我去了https://securityheaders.com,看看是否顯示“Nginx”。請務必選中隱藏結果並關注重定向
希望這可以幫助某人