Created
August 4, 2013 20:54
-
-
Save jose-lpa/6151906 to your computer and use it in GitHub Desktop.
Default Jenkins configuration file for Nginx, set up to use SSL with automatic redirection when a user requests for ``http://`` instead of ``https://``.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
server { | |
listen 80; # Listen on port 80 for IPv4 requests | |
server_name jenkins.example.com; | |
rewrite ^ https://$server_name$request_uri? permanent; | |
} | |
server { | |
listen 443 default ssl; | |
server_name jenkins.example.com; | |
access_log /var/log/nginx/hudson_access.log; | |
error_log /var/log/nginx/hudson_error.log; | |
ssl on; | |
ssl_certificate /etc/nginx/ssl/server.crt; | |
ssl_certificate_key /etc/nginx/ssl/server.key; | |
ssl_session_timeout 5m; | |
ssl_protocols SSLv3 TLSv1; | |
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv3:+EXP; | |
ssl_prefer_server_ciphers on; | |
location ~ ^/static/[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]\/(.*)$ { | |
#rewrite all static files into requests to the root | |
#E.g /static/12345678/css/something.css will become /css/something.css | |
rewrite "^/static/[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]\/(.*)" /$1 last; | |
} | |
location /userContent { | |
#have nginx handle all the static requests to the userContent folder files | |
#note : This is the $JENKINS_HOME dir | |
root /var/lib/jenkins/; | |
if (!-f $request_filename){ | |
#this file does not exist, might be a directory or a /**view** url | |
rewrite (.*) /$1 last; | |
break; | |
} | |
sendfile on; | |
} | |
location @jenkins { | |
# HTTP Basic Authentication to access Jenkins Dashboard | |
#auth_basic "Restricted"; | |
#auth_basic_user_file htpasswd; | |
sendfile off; | |
proxy_pass http://127.0.0.1:8080; | |
proxy_redirect http:// https://; | |
proxy_set_header Host $host; | |
proxy_set_header X-Real-IP $remote_addr; | |
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; | |
proxy_max_temp_file_size 0; | |
#this is the maximum upload size | |
client_max_body_size 10m; | |
client_body_buffer_size 128k; | |
proxy_connect_timeout 90; | |
proxy_send_timeout 90; | |
proxy_read_timeout 90; | |
proxy_buffer_size 4k; | |
proxy_buffers 4 32k; | |
proxy_busy_buffers_size 64k; | |
proxy_temp_file_write_size 64k; | |
} | |
location / { | |
#this is the jenkins web root directory (mentioned in the /etc/default/jenkins file) | |
root /var/run/jenkins/war/; | |
# Optional configuration to detect and redirect iPhones | |
if ($http_user_agent ~* '(iPhone|iPod)') { | |
rewrite ^/$ /view/iphone/ redirect; | |
} | |
try_files $uri @jenkins; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment