如何在Elastic Beanstalk环境中运行的passenger-standalone上启用“ngx_http_realip_module”?

时间:2017-04-04 08:50:09

标签: amazon-web-services nginx passenger elastic-beanstalk

我正在尝试在我的Elastic Beanstalk环境中的set_real_ip_from块中使用选项http {},但我收到此错误:

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

Beanstalk正在使用乘客独立嵌入nginx:

$ gem list |grep passenger 
passenger (4.0.60)

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

我尝试使用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

但是当重新启动乘客时,我收到了这个:

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

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

如何重新编译这个嵌入式nginx,还是有其他简单方法来启用这个模块?

  

在我设法通过.ebextension

永久执行此操作之前,这只是一个测试

1 个答案:

答案 0 :(得分:2)

这似乎是乘客的问题。 以下是如何修改构建配置的想法: https://github.com/phusion/passenger/commit/e59af13629c8de1ea6ce509cec0fad7538860643

相关问题