Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to enable "ngx_http_realip_module" on passenger-standalone running on Elastic Beanstalk environment?

I'm trying to use the option set_real_ip_from inside the http {} block on my Elastic Beanstalk environment, but I'm receiving this error:

$ service passenger restart
*** ERROR *** Could not start Passenger Nginx core: nginx: [emerg] unknown directive "set_real_ip_from" in

Beanstalk are using passenger standalone with nginx embedded:

$ gem list |grep passenger 
passenger (4.0.60)

$ /opt/elasticbeanstalk/bin/get-config container -k nginx_version
1.8.1

I tried update passenger to a newer version using gem install passenger:

$ gem install passenger
Fetching: passenger-5.1.2.gem (100%)
Building native extensions.  This could take a while...
Successfully installed passenger-5.1.2
Parsing documentation for passenger-5.1.2
Installing ri documentation for passenger-5.1.2
Done installing documentation for passenger after 48 seconds
1 gem installed

But when restarting passenger, I received this:

---------------------------------------

No precompiled Nginx engine could be downloaded. Compiling it from source instead.


--------------------------------------------

Checking for required software...

 * Checking for C compiler...
      Found: yes
      Location: /usr/bin/cc
 * Checking for C++ compiler...
      Found: yes
      Location: /usr/bin/c++
 * Checking for GNU make...
      Found: yes
      Location: /usr/bin/gmake
 * Checking for Rake (associated with /opt/rubies/ruby-2.3.1/bin/ruby)...
      Found: yes
      Location: /opt/rubies/ruby-2.3.1/bin/ruby /opt/rubies/ruby-2.3.1/bin/rake
 * Checking for OpenSSL development headers...
      Found: yes
      Location: /usr/include/openssl/ssl.h
 * Checking for Zlib development headers...
      Found: yes
      Location: /usr/include/zlib.h
 * Checking for PCRE development headers...
      Found: yes
      Location: /usr/include/pcre.h

Installing...
Downloading Nginx 1.8.1 source code...
######################################################################## 100.0%
Extracting tarball...
Compiling support libraries (step 1 of 2)...
[**************************************************] -
Compiling Nginx engine (step 2 of 2)...
[************                                      ] \
./configure: error: invalid option "--with-http_v2_module"
*** ERROR: command failed: cd /tmp/passenger-install.wmn75y/nginx-1.8.1 && env PASSENGER_INCLUDEDIR=/opt/rubies/ruby-2.3.1/lib/ruby/gems/2.3.0/gems/passenger-5.1.2/src PASSENGER_LIBS=/tmp/passenger-install.wmn75y/common/libpassenger_common/Logging.o\ /tmp/passenger-install.wmn75y/common/libpassenger_common/Exceptions.o\ /tmp/passenger-install.wmn75y/common/libpassenger_common/Utils/SystemTime.o\ /tmp/passenger-install.wmn75y/common/libpassenger_common/Utils/StrIntUtils.o\ /tmp/passenger-install.wmn75y/common/libpassenger_common/Utils/StrIntUtilsNoStrictAliasing.o\ /tmp/passenger-install.wmn75y/common/libpassenger_common/Utils/IOUtils.o\ /tmp/passenger-install.wmn75y/common/libpassenger_common/Utils.o\ /tmp/passenger-install.wmn75y/common/libpassenger_common/WatchdogLauncher.o\ /tmp/passenger-install.wmn75y/common/libpassenger_common/AppTypes.o\ /tmp/passenger-install.wmn75y/common/libpassenger_common/Utils/CachedFileStat.o\ /tmp/passenger-install.wmn75y/common/libpassenger_common/UnionStationFilterSupport.o\ /tmp/passenger-install.wmn75y/common/libboost_oxt.a /bin/bash ./configure --prefix=/tmp --with-cc-opt=-Wno-error --without-http_fastcgi_module --without-http_scgi_module --without-http_uwsgi_module --with-ipv6 --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_gzip_static_module --with-http_stub_status_module --with-http_addition_module --add-module=/opt/rubies/ruby-2.3.1/lib/ruby/gems/2.3.0/gems/passenger-5.1.2/src/nginx_module

How to recompile this embedded nginx or is there any other easy way to enable this module?

This is just a test before I manage to do it permanently through .ebextension

like image 203
Jonathas Hortense Avatar asked Oct 29 '22 09:10

Jonathas Hortense


1 Answers

This looks like to be passenger's issue. Here is an idea how to modify build configs: https://github.com/phusion/passenger/commit/e59af13629c8de1ea6ce509cec0fad7538860643

like image 119
Victor Avatar answered Nov 09 '22 10:11

Victor