Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SSL improvements (default ciphers & caching), server_tokens option, and proxy_set_headers for vhosts #48

Merged
merged 6 commits into from
Apr 25, 2013

Conversation

buro9
Copy link
Contributor

@buro9 buro9 commented Apr 24, 2013

This is a backwards compatible set of changes.

Changed the default ciphers for SSL to be more secure (the ones in use were vulnerable to the BEAST attack)
Added SSL caching to speed up SSL requests
Add server_tokens to the global config so this can be turned on|off between dev and prod
Add proxy_set_header to vhost as different vhosts may require different headers and the global setting is not ideal
Minor space formatting so that the generated files are fractionally more readable

    more secure
Added SSL caching to speed up SSL requests
Add server_tokens to the global config so this can be turned on|off
    between dev and prod
Add proxy_set_header to vhost as different vhosts may require different
    headers and the global setting is not ideal
Minor space formatting so that the generated files are fractionally
    more readable
… revocation list if the certificate includes the intermediate layer to identify the trusted source
jfryman pushed a commit that referenced this pull request Apr 25, 2013
SSL improvements (default ciphers & caching), server_tokens option, and proxy_set_headers for vhosts
@jfryman jfryman merged commit 7b56556 into voxpupuli:master Apr 25, 2013
@jfryman
Copy link
Contributor

jfryman commented Apr 25, 2013

❤️ Thanks for the code!

@buro9
Copy link
Contributor Author

buro9 commented Apr 25, 2013

Woah, I changed a few defaults in later commits that you probably do not want to have as default.

Probably my fault, I thought the pull request was just for the first commit rather than the latter ones. The code is fine, it's just the defaults should be more cautious than what I'm using (to spare you support headaches).

To fix, in params.pp you would want:
$nx_multi_accept = off
$nx_events_use = false
$nx_server_tokens = on
$nx_spdy = off
$nx_ssl_stapling = off

Those are the safe defaults.

Reasons:

  • SPDY and OCSP stapling both require Nginx 1.4.
  • Using epoll for events requires a Linux with a 2.7+ kernel, which should be everyone, but who knows.
  • Server tokens is defaulted as on, so this default shouldn't be different... it's just a switch for people.
  • Multi accept could flood the backend, and so only those who know their applications can handle that should turn it on.

My apologies for the trouble.

The rest is good though. Defaults should just be cautious.

@jfryman
Copy link
Contributor

jfryman commented Apr 25, 2013

No worries. Thanks for the heads up. I've gone ahead and modified master to have some sane defaults. 👍

@nlsrchtr
Copy link

I would like to enable spdy, but can't find a way to set nx_spdy = on, because I can't pass the value into the nginx-class. Could you give me any hint how I can enable it?

@jfryman
Copy link
Contributor

jfryman commented Jun 19, 2013

@nlsrchtr Right now, the only way to do this is to set the bit in $nginx::params to true. If you'd like to take a shot at it, Pull Requests are gladly accepted. Otherwise, I'll stick this in the backlog to iterate on when I get some cycles.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants