Last active
March 5, 2022 21:51
-
-
Save jodykpw/cf4db219064d5d3378281a4e3ecb49c7 to your computer and use it in GitHub Desktop.
Harbor with Traefik, Nginx config.
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
worker_processes auto; | |
pid /tmp/nginx.pid; | |
events { | |
worker_connections 1024; | |
use epoll; | |
multi_accept on; | |
} | |
http { | |
client_body_temp_path /tmp/client_body_temp; | |
proxy_temp_path /tmp/proxy_temp; | |
fastcgi_temp_path /tmp/fastcgi_temp; | |
uwsgi_temp_path /tmp/uwsgi_temp; | |
scgi_temp_path /tmp/scgi_temp; | |
tcp_nodelay on; | |
# this is necessary for us to be able to disable request buffering in all cases | |
proxy_http_version 1.1; | |
upstream core { | |
server core:8080; | |
} | |
upstream portal { | |
server portal:8080; | |
} | |
log_format timed_combined '$remote_addr - ' | |
'"$request" $status $body_bytes_sent ' | |
'"$http_referer" "$http_user_agent" ' | |
'$request_time $upstream_response_time $pipe'; | |
access_log /dev/stdout timed_combined; | |
server { | |
listen 8080; | |
server_tokens off; | |
# disable any limits to avoid HTTP 413 for large image uploads | |
client_max_body_size 0; | |
# Add extra headers | |
add_header X-Frame-Options DENY; | |
add_header Content-Security-Policy "frame-ancestors 'none'"; | |
# costumized location config file can place to /etc/nginx/etc with prefix harbor.http. and suffix .conf | |
include /etc/nginx/conf.d/harbor.http.*.conf; | |
location / { | |
proxy_pass http://portal/; | |
# proxy_set_header Host $host; | |
proxy_set_header X-Real-IP $remote_addr; | |
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; | |
# When setting up Harbor behind other proxy, such as an Nginx instance, remove the below line if the proxy already has similar settings. | |
# proxy_set_header X-Forwarded-Proto $scheme; | |
proxy_buffering off; | |
proxy_request_buffering off; | |
} | |
location /c/ { | |
proxy_pass http://core/c/; | |
# proxy_set_header Host $host; | |
proxy_set_header X-Real-IP $remote_addr; | |
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; | |
# When setting up Harbor behind other proxy, such as an Nginx instance, remove the below line if the proxy already has similar settings. | |
# proxy_set_header X-Forwarded-Proto $scheme; | |
proxy_buffering off; | |
proxy_request_buffering off; | |
} | |
location /api/ { | |
proxy_pass http://core/api/; | |
# proxy_set_header Host $host; | |
proxy_set_header X-Real-IP $remote_addr; | |
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; | |
# When setting up Harbor behind other proxy, such as an Nginx instance, remove the below line if the proxy already has similar settings. | |
# proxy_set_header X-Forwarded-Proto $scheme; | |
proxy_buffering off; | |
proxy_request_buffering off; | |
} | |
location /chartrepo/ { | |
proxy_pass http://core/chartrepo/; | |
# proxy_set_header Host $host; | |
proxy_set_header X-Real-IP $remote_addr; | |
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; | |
# When setting up Harbor behind other proxy, such as an Nginx instance, remove the below line if the proxy already has similar settings. | |
# proxy_set_header X-Forwarded-Proto $scheme; | |
proxy_buffering off; | |
proxy_request_buffering off; | |
} | |
location /v1/ { | |
return 404; | |
} | |
location /v2/ { | |
proxy_pass http://core/v2/; | |
# proxy_set_header Host $http_host; | |
proxy_set_header X-Real-IP $remote_addr; | |
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; | |
# When setting up Harbor behind other proxy, such as an Nginx instance, remove the below line if the proxy already has similar settings. | |
#proxy_set_header X-Forwarded-Proto $scheme; | |
proxy_buffering off; | |
proxy_request_buffering off; | |
} | |
location /service/ { | |
proxy_pass http://core/service/; | |
# proxy_set_header Host $host; | |
proxy_set_header X-Real-IP $remote_addr; | |
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; | |
# When setting up Harbor behind other proxy, such as an Nginx instance, remove the below line if the proxy already has similar settings. | |
# proxy_set_header X-Forwarded-Proto $scheme; | |
proxy_buffering off; | |
proxy_request_buffering off; | |
} | |
location /service/notifications { | |
return 404; | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment