Created
March 2, 2018 02:14
-
-
Save montmanu/7070865a465bef26d52c92799d0a1811 to your computer and use it in GitHub Desktop.
Sample Cloud Endpoints nginx Configuration
This file contains hidden or 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
# /usr/sbin/nginx -c /etc/nginx/endpoints/nginx.conf -T | |
# configuration file /etc/nginx/endpoints/nginx.conf: | |
# Auto-generated by start_esp | |
# Copyright 2017 Google Inc. | |
# | |
# Licensed under the Apache License, Version 2.0 (the "License"); | |
# you may not use this file except in compliance with the License. | |
# You may obtain a copy of the License at | |
# | |
# http://www.apache.org/licenses/LICENSE-2.0 | |
# | |
# Unless required by applicable law or agreed to in writing, software | |
# distributed under the License is distributed on an "AS IS" BASIS, | |
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
# See the License for the specific language governing permissions and | |
# limitations under the License. | |
daemon off; | |
user nginx nginx; | |
pid /var/run/nginx.pid; | |
# Worker/connection processing limits | |
worker_processes 1; | |
worker_rlimit_nofile 10240; | |
events { worker_connections 10240; } | |
# Logging to stderr enables better integration with Docker and GKE/Kubernetes. | |
error_log stderr warn; | |
http { | |
include /etc/nginx/mime.types; | |
server_tokens off; | |
client_max_body_size 32m; | |
client_body_buffer_size 128k; | |
# HTTP subrequests | |
endpoints_resolver 8.8.8.8; | |
endpoints_certificates /etc/nginx/trusted-ca-certificates.crt; | |
upstream app_server0 { | |
server 127.0.0.1:3001; | |
keepalive 128; | |
} | |
set_real_ip_from 0.0.0.0/0; | |
set_real_ip_from 0::/0; | |
real_ip_header X-Forwarded-For; | |
real_ip_recursive on; | |
server { | |
server_name ""; | |
listen 3000 backlog=16384; | |
access_log /dev/stdout; | |
location / { | |
# Begin Endpoints v2 Support | |
endpoints { | |
on; | |
server_config /etc/nginx/server_config.pb.txt; | |
metadata_server http://169.254.169.254; | |
} | |
# End Endpoints v2 Support | |
proxy_pass http://app_server0; | |
proxy_redirect off; | |
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_set_header X-Forwarded-Host $server_name; | |
proxy_set_header X-Google-Real-IP $remote_addr; | |
# Enable the upstream persistent connection | |
proxy_http_version 1.1; | |
proxy_set_header Connection ""; | |
# 86400 seconds (24 hours) is the maximum a server is allowed. | |
proxy_send_timeout 86400s; | |
proxy_read_timeout 86400s; | |
} | |
include /var/lib/nginx/extra/*.conf; | |
} | |
server { | |
# expose /nginx_status and /endpoints_status but on a different port to | |
# avoid external visibility / conflicts with the app. | |
listen 8090; | |
location /nginx_status { | |
stub_status on; | |
access_log off; | |
} | |
location /endpoints_status { | |
endpoints_status; | |
access_log off; | |
} | |
location /healthz { | |
return 200; | |
access_log off; | |
} | |
location / { | |
root /dev/null; | |
} | |
} | |
} | |
# configuration file /etc/nginx/mime.types: | |
types { | |
text/html html htm shtml; | |
text/css css; | |
text/xml xml; | |
image/gif gif; | |
image/jpeg jpeg jpg; | |
application/javascript js; | |
application/atom+xml atom; | |
application/rss+xml rss; | |
text/mathml mml; | |
text/plain txt; | |
text/vnd.sun.j2me.app-descriptor jad; | |
text/vnd.wap.wml wml; | |
text/x-component htc; | |
image/png png; | |
image/tiff tif tiff; | |
image/vnd.wap.wbmp wbmp; | |
image/x-icon ico; | |
image/x-jng jng; | |
image/x-ms-bmp bmp; | |
image/svg+xml svg svgz; | |
image/webp webp; | |
application/font-woff woff; | |
application/java-archive jar war ear; | |
application/json json; | |
application/mac-binhex40 hqx; | |
application/msword doc; | |
application/pdf pdf; | |
application/postscript ps eps ai; | |
application/rtf rtf; | |
application/vnd.apple.mpegurl m3u8; | |
application/vnd.ms-excel xls; | |
application/vnd.ms-fontobject eot; | |
application/vnd.ms-powerpoint ppt; | |
application/vnd.wap.wmlc wmlc; | |
application/vnd.google-earth.kml+xml kml; | |
application/vnd.google-earth.kmz kmz; | |
application/x-7z-compressed 7z; | |
application/x-cocoa cco; | |
application/x-java-archive-diff jardiff; | |
application/x-java-jnlp-file jnlp; | |
application/x-makeself run; | |
application/x-perl pl pm; | |
application/x-pilot prc pdb; | |
application/x-rar-compressed rar; | |
application/x-redhat-package-manager rpm; | |
application/x-sea sea; | |
application/x-shockwave-flash swf; | |
application/x-stuffit sit; | |
application/x-tcl tcl tk; | |
application/x-x509-ca-cert der pem crt; | |
application/x-xpinstall xpi; | |
application/xhtml+xml xhtml; | |
application/xspf+xml xspf; | |
application/zip zip; | |
application/octet-stream bin exe dll; | |
application/octet-stream deb; | |
application/octet-stream dmg; | |
application/octet-stream iso img; | |
application/octet-stream msi msp msm; | |
application/vnd.openxmlformats-officedocument.wordprocessingml.document docx; | |
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet xlsx; | |
application/vnd.openxmlformats-officedocument.presentationml.presentation pptx; | |
audio/midi mid midi kar; | |
audio/mpeg mp3; | |
audio/ogg ogg; | |
audio/x-m4a m4a; | |
audio/x-realaudio ra; | |
video/3gpp 3gpp 3gp; | |
video/mp2t ts; | |
video/mp4 mp4; | |
video/mpeg mpeg mpg; | |
video/quicktime mov; | |
video/webm webm; | |
video/x-flv flv; | |
video/x-m4v m4v; | |
video/x-mng mng; | |
video/x-ms-asf asx asf; | |
video/x-ms-wmv wmv; | |
video/x-msvideo avi; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment