Skip to content

Instantly share code, notes, and snippets.

@v0ctor
Last active October 11, 2017 12:08
Show Gist options
  • Save v0ctor/d6bee3d899cc3f0f1047e7b353407387 to your computer and use it in GitHub Desktop.
Save v0ctor/d6bee3d899cc3f0f1047e7b353407387 to your computer and use it in GitHub Desktop.
Compile Nginx with OpenSSL to support ALPN (and therefore HTTP/2)
@TheSpanner
Copy link

TheSpanner commented Mar 28, 2017

Hi Guys
Help a noob out please. So if I look at my current nginx -V, my -path parameters are a little different, and I have fewer --with- modules.

If I use this .sh should I alter it to use my current paths?

nginx -V:

[root@server1 ~]# nginx -V
nginx version: nginx/1.10.3
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-4) (GCC)
built with OpenSSL 1.0.1e-fips 11 Feb 2013
TLS SNI support enabled
configure arguments: 
--prefix=/etc/nginx 
--sbin-path=/usr/sbin/nginx 
--modules-path=/usr/lib64/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-file-aio 
--with-threads 
--with-ipv6 
--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_ssl_module 
--with-cc-opt='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong 
--param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -fPIC' 
--with-ld-opt='-Wl,-z,relro -Wl,-z,now -pie'

(CentOS 7)

@v0ctor
Copy link
Author

v0ctor commented Mar 29, 2017

@palaboy Did you get any error? Remember that you have to install the development tools to use "make". In fact, it should work on any Linux distribution with the necessary dependencies installed.

@maszd I'm glad it was helpful! :)

@TheSpanner If you don't need the missing "with" modules, it is not necessary to add them. Specifically, the modules included in the script are the same ones that come with the binary that is distributed for CentOS 7. As for the paths, which ones are different? If you have installed Nginx via "yum", they should be the same.

@apachebcn
Copy link

Tío! Eres el puto Amo!!!!!
Lo he aplicado a Debian 9, siendo tu no recomendación, y en 2 minutos se me ha activado http/2 con ALPN

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment