Skip to content

Commit

Permalink
Added info about certification and updated download links for new ver…
Browse files Browse the repository at this point in the history
…sion
  • Loading branch information
travisspencer committed Dec 10, 2018
1 parent d637340 commit 0244f0b
Showing 1 changed file with 32 additions and 13 deletions.
45 changes: 32 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -240,10 +240,29 @@ To build this module, simply do the following:
make && make install
```

This will download the NGINX source code if it is not already local. If it is, the location may be provided when prompted. By default, version 1.13.7 will be downloaded; a different version can be fetched by setting `NGINX_VERSION` before running the `configure` script. Any [additional parameters](http://nginx.org/en/docs/configure.html) (e.g., `--prefix`) that NGINX's `configure` script supports can also be provided. When this module's `configure` script is run, it will pass along `--with-compat` to NGINX's script. It ask if a dynamic module should be created (thus passing along `--add-dynamic-module`) or if the module should be compiled into the NGINX binary (thus passing `--add-module`); by default, it created a dynamically-linked module. It will also ask if debug flags should be enabled; if so, `--with-debug` and certain GCC flags will be passed on to NGINX's `configure` script to make debugging easier. After the script is run, just execute `make && make install`. These too will delegate to NGINX's `Makefile`. After this, the module will be usable and can be configured as described above.
This will download the NGINX source code if it is not already local. If it is, the location may be provided when prompted. By default, version 1.15.2 will be downloaded; a different version can be fetched by setting `NGINX_VERSION` before running the `configure` script. Any [additional parameters](http://nginx.org/en/docs/configure.html) (e.g., `--prefix`) that NGINX's `configure` script supports can also be provided. When this module's `configure` script is run, it will pass along `--with-compat` to NGINX's script. It asks if a dynamic module should be created (thus passing along `--add-dynamic-module`) or if the module should be compiled into the NGINX binary (thus passing `--add-module`); by default, it created a dynamically-linked module. It will also ask if debug flags should be enabled; if so, `--with-debug` and certain GCC flags will be passed on to NGINX's `configure` script to make debugging easier. After the script is run, just execute `make && make install`. These too will delegate to NGINX's `Makefile`. After this, the module will be usable and can be configured as described above.

> *WARNING* If `--without-pcre`, `--without-http_gzip_module` and potentially other flags are provided to the `configure` script and a module is created, it will _not_ be compatible with NGINX Plus or the pre-compiled open source NGINX binaries; if you include such flags (when building the module), you will only be able to load it into a custom build of NGINX that also excludes the same functionality. If the `configure` script exits with an error about a missing dependency, like [PCRE](https://www.pcre.org/) and [zlib](http://zlib.net/), install those instead of excluding them if compatibility with pre-build NGINX binaries is desired.</p>
## Certifing a Release

To certify that a build is compatible with NGINX+, a shared library needs to be built and it must be tested with NGINX's certification test suite. For some background on this, refer to the [NGINX Plus Certified Modules Program documentation](https://www.nginx.com/partners/certified-module-program-documentation/#tech-doc-instructions-building). As described there:

1. A module must be built for each supported platform (see below).
2. [NGINX+ must be installed](https://docs.nginx.com/nginx/admin-guide/installing-nginx/installing-nginx-plus/) on each of these platforms as well.
3. The [certification test suite](https://www.nginx.com/partners/certified-module-program-documentation/#tech-doc-instructions-self-cert) and [its dependencies](https://www.nginx.com/partners/certified-module-program-documentation/#appendix) must be installed.
4. With the NGINX+ service stopped, run the test suite, like this for example:

```sh
sudo -u nginx \
TEST_NGINX_BINARY=/usr/sbin/nginx \
TEST_NGINX_GLOBALS="load_module /tmp/modules/ngx_curity_http_phantom_token_module.so;" \
TEST_NGINX_GLOBALS_HTTP="phantom_token off;" \
prove -v . > ../nginx-plus-module-prove-test-verbose 2>&1
```

If all certification tests and the phantom-token specific tests (see below) pass, the build can be certified. Also, it should be released on GitHub.

## Compatibility

This module is compatible with Curity version >= 2.2. It has been tested with NGINX 1.13.7 (NGINX Plus Release 14) and NGINX 1.13.10 (NGINX Plus Release 15). It is likely to work with other, newish versions of NGINX, but only these have been tested, pre-built and verified.
Expand All @@ -252,18 +271,18 @@ This module is compatible with Curity version >= 2.2. It has been tested with NG

Pre-built binaries of this module are provided for the following versions of NGINX on the corresponding operating system distributions:

| | NGINX 1.13.7 / NGINX Plus R14 | NGINX 1.13.10 / NGINX Plus R15 |
| ----------------------------------|:-----------------------------:|:---------------------------------:|
| Amazon Linux | [](https://github.com/curityio/nginx_phantom_token_module/releases/download/1.0.2/amzn.ngx_curity_http_phantom_token_module_1.13.7.so) | [](https://github.com/curityio/nginx_phantom_token_module/releases/download/1.0.2/amzn.ngx_curity_http_phantom_token_module_1.13.10.so) |
| Amazon Linux 2 | [](https://github.com/curityio/nginx_phantom_token_module/releases/download/1.0.2/amzn2.ngx_curity_http_phantom_token_module_1.13.7.so) | [](https://github.com/curityio/nginx_phantom_token_module/releases/download/1.0.2/amzn2.ngx_curity_http_phantom_token_module_1.13.10.so)|
| CentOS 6.5+ | [](https://github.com/curityio/nginx_phantom_token_module/releases/download/1.0.2/centos.6.ngx_curity_http_phantom_token_module_1.13.7.so) | [](https://github.com/curityio/nginx_phantom_token_module/releases/download/1.0.2/centos.6.ngx_curity_http_phantom_token_module_1.13.10.so) |
| CentOS 7.0+ | [](https://github.com/curityio/nginx_phantom_token_module/releases/download/1.0.2/centos.7.ngx_curity_http_phantom_token_module_1.13.7.so) | [](https://github.com/curityio/nginx_phantom_token_module/releases/download/1.0.2/centos.7.ngx_curity_http_phantom_token_module_1.13.10.so) |
| Debian 8.0 (Jessie) | [](https://github.com/curityio/nginx_phantom_token_module/releases/download/1.0.2/debian.jessie.ngx_curity_http_phantom_token_module_1.13.7.so) | [](https://github.com/curityio/nginx_phantom_token_module/releases/download/1.0.2/debian.jessie.ngx_curity_http_phantom_token_module_1.13.10.so) |
| Debian 9.0 (Stretch) | [](https://github.com/curityio/nginx_phantom_token_module/releases/download/1.0.2/debian.stretch.ngx_curity_http_phantom_token_module_1.13.7.so) | [](https://github.com/curityio/nginx_phantom_token_module/releases/download/1.0.2/debian.stretch.ngx_curity_http_phantom_token_module_1.13.10.so) |
| Ubuntu 14.04 LTS (Trusty Tahr) | [](https://github.com/curityio/nginx_phantom_token_module/releases/download/1.0.2/ubuntu.14.04.ngx_curity_http_phantom_token_module_1.13.7.so) | [](https://github.com/curityio/nginx_phantom_token_module/releases/download/1.0.2/ubuntu.14.04.ngx_curity_http_phantom_token_module_1.13.10.so) |
| Ubuntu 16.04 LTS (Xenial Xerus) | [](https://github.com/curityio/nginx_phantom_token_module/releases/download/1.0.2/ubuntu.16.04.ngx_curity_http_phantom_token_module_1.13.7.so) | [](https://github.com/curityio/nginx_phantom_token_module/releases/download/1.0.2/ubuntu.16.04.ngx_curity_http_phantom_token_module_1.13.10.so) |
| Ubuntu 17.04 (Zesty Zapus) | [](https://github.com/curityio/nginx_phantom_token_module/releases/download/1.0.2/ubuntu.17.04.ngx_curity_http_phantom_token_module_1.13.7.so) | |
| Ubuntu 17.10 (Artful Aardvark) | [](https://github.com/curityio/nginx_phantom_token_module/releases/download/1.0.2/ubuntu.17.10.ngx_curity_http_phantom_token_module_1.13.7.so) | [](https://github.com/curityio/nginx_phantom_token_module/releases/download/1.0.2/ubuntu.17.10.ngx_curity_http_phantom_token_module_1.13.10.so) |
| | NGINX 1.13.7 / NGINX Plus R14 | NGINX 1.13.10 / NGINX Plus R15 | NGINX 1.15.2 / NGINX Plus R16 |
| ----------------------------------|:-----------------------------:|:---------------------------------:|:---------------------------------:|
| Amazon Linux | [](https://github.com/curityio/nginx_phantom_token_module/releases/download/1.0.3/amzn.ngx_curity_http_phantom_token_module_1.13.7.so) | [](https://github.com/curityio/nginx_phantom_token_module/releases/download/1.0.3/amzn.ngx_curity_http_phantom_token_module_1.13.10.so) | [](https://github.com/curityio/nginx_phantom_token_module/releases/download/1.0.3/amzn.ngx_curity_http_phantom_token_module_11.15.2so) |
| Amazon Linux 2 | [](https://github.com/curityio/nginx_phantom_token_module/releases/download/1.0.3/amzn2.ngx_curity_http_phantom_token_module_1.13.7.so) | [](https://github.com/curityio/nginx_phantom_token_module/releases/download/1.0.3/amzn2.ngx_curity_http_phantom_token_module_1.13.10.so) | [](https://github.com/curityio/nginx_phantom_token_module/releases/download/1.0.3/amzn2.ngx_curity_http_phantom_token_module_1.15.2.so) |
| CentOS 6.5+ | [](https://github.com/curityio/nginx_phantom_token_module/releases/download/1.0.3/centos.6.ngx_curity_http_phantom_token_module_1.13.7.so) | [](https://github.com/curityio/nginx_phantom_token_module/releases/download/1.0.3/centos.6.ngx_curity_http_phantom_token_module_1.13.10.so) | [](https://github.com/curityio/nginx_phantom_token_module/releases/download/1.0.3/centos.6.ngx_curity_http_phantom_token_module_1.15.2.so) |
| CentOS 7.0+ | [](https://github.com/curityio/nginx_phantom_token_module/releases/download/1.0.3/centos.7.ngx_curity_http_phantom_token_module_1.13.7.so) | [](https://github.com/curityio/nginx_phantom_token_module/releases/download/1.0.3/centos.7.ngx_curity_http_phantom_token_module_1.13.10.so) | [](https://github.com/curityio/nginx_phantom_token_module/releases/download/1.0.3/centos.7.ngx_curity_http_phantom_token_module_1.15.2.so) |
| Debian 8.0 (Jessie) | [](https://github.com/curityio/nginx_phantom_token_module/releases/download/1.0.3/debian.jessie.ngx_curity_http_phantom_token_module_1.13.7.so) | [](https://github.com/curityio/nginx_phantom_token_module/releases/download/1.0.3/debian.jessie.ngx_curity_http_phantom_token_module_1.13.10.so) | [](https://github.com/curityio/nginx_phantom_token_module/releases/download/1.0.3/debian.jessie.ngx_curity_http_phantom_token_module_1.15.2.so) |
| Debian 9.0 (Stretch) | [](https://github.com/curityio/nginx_phantom_token_module/releases/download/1.0.3/debian.stretch.ngx_curity_http_phantom_token_module_1.13.7.so) | [](https://github.com/curityio/nginx_phantom_token_module/releases/download/1.0.3/debian.stretch.ngx_curity_http_phantom_token_module_1.13.10.so) | [](https://github.com/curityio/nginx_phantom_token_module/releases/download/1.0.3/debian.stretch.ngx_curity_http_phantom_token_module_1.15.2.so) |
| Ubuntu 14.04 LTS (Trusty Tahr) | [](https://github.com/curityio/nginx_phantom_token_module/releases/download/1.0.3/ubuntu.14.04.ngx_curity_http_phantom_token_module_1.13.7.so) | [](https://github.com/curityio/nginx_phantom_token_module/releases/download/1.0.3/ubuntu.14.04.ngx_curity_http_phantom_token_module_1.13.10.so) | [](https://github.com/curityio/nginx_phantom_token_module/releases/download/1.0.3/ubuntu.14.04.ngx_curity_http_phantom_token_module_1.15.2.so) |
| Ubuntu 16.04 LTS (Xenial Xerus) | [](https://github.com/curityio/nginx_phantom_token_module/releases/download/1.0.3/ubuntu.16.04.ngx_curity_http_phantom_token_module_1.13.7.so) | [](https://github.com/curityio/nginx_phantom_token_module/releases/download/1.0.3/ubuntu.16.04.ngx_curity_http_phantom_token_module_1.13.10.so) | [](https://github.com/curityio/nginx_phantom_token_module/releases/download/1.0.3/ubuntu.16.04.ngx_curity_http_phantom_token_module_1.15.2.so) |
| Ubuntu 17.04 (Zesty Zapus) | [](https://github.com/curityio/nginx_phantom_token_module/releases/download/1.0.3/ubuntu.17.04.ngx_curity_http_phantom_token_module_1.13.7.so) | | |
| Ubuntu 17.10 (Artful Aardvark) | [](https://github.com/curityio/nginx_phantom_token_module/releases/download/1.0.3/ubuntu.17.10.ngx_curity_http_phantom_token_module_1.13.7.so) | [](https://github.com/curityio/nginx_phantom_token_module/releases/download/1.0.3/ubuntu.17.10.ngx_curity_http_phantom_token_module_1.13.10.so) | [](https://github.com/curityio/nginx_phantom_token_module/releases/download/1.0.3/ubuntu.17.10.ngx_curity_http_phantom_token_module_1.15.2.so) |

## Testing

Expand Down

0 comments on commit 0244f0b

Please sign in to comment.