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
This looks like to be passenger's issue. Here is an idea how to modify build configs: https://github.com/phusion/passenger/commit/e59af13629c8de1ea6ce509cec0fad7538860643
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With