This repository has been archived by the owner on Apr 17, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
Configure Nginx on OS X
Attila Levente EGYEDI edited this page Apr 6, 2017
·
17 revisions
sudo vi $NGINX_HOME/cedar/cedar-geo.inc.conf
Add this content:
geo $isInternalNetwork {
default 0;
172.27.0.0/16 0;
}
geo $isMaintenance {
default 0;
}
sudo vi $NGINX_HOME/cedar/cedar-ssl.conf
Add this content:
ssl_certificate /usr/local/etc/nginx/cedar/ssl/cedar.metadatacenter.orgx.crt;
ssl_certificate_key /usr/local/etc/nginx/cedar/ssl/cedar.metadatacenter.orgx.key;
sudo vi $NGINX_HOME/cedar/cedar-main.inc.conf
Important: Please replace <CEDAR_HOME>
with your CEDAR_HOME
value in the below content. Nginx does not support environment variables in its config file!
Remark: You can generate this config file content by running:
cedarat nginx-config-generate
Replace the content with the below.
error_log <CEDAR_HOME>log/nginx/nginx-error.log;
proxy_http_version 1.1; #this is essential for chunked responses
proxy_buffering off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_intercept_errors on;
map $status $loggable {
~^[3] 0;
default 1;
}
# proxies --------------------------------------------------------
upstream cedar-frontend {
server 127.0.0.1:4200;
}
upstream cedar-backend-folder {
server 127.0.0.1:9008;
}
upstream cedar-backend-group {
server 127.0.0.1:9009;
}
upstream cedar-backend-repo {
server 127.0.0.1:9002;
}
upstream cedar-backend-resource {
server 127.0.0.1:9007;
}
upstream cedar-backend-schema {
server 127.0.0.1:9003;
}
upstream cedar-backend-submission {
server 127.0.0.1:9010;
}
upstream cedar-backend-template {
server 127.0.0.1:9001;
}
upstream cedar-backend-terminology {
server 127.0.0.1:9004;
}
upstream cedar-backend-user {
server 127.0.0.1:9005;
}
upstream cedar-backend-valuerecommender {
server 127.0.0.1:9006;
}
upstream cedar-backend-worker {
server 127.0.0.1:9011;
}
upstream cedar-backend-auth-https {
server 127.0.0.1:8543;
}
# no subdomain --------------------------------------------------------
server {
listen 80;
server_name metadatacenter.orgx;
return 301 https://cedar.metadatacenter.orgx$request_uri;
}
server {
listen 443;
server_name metadatacenter.orgx;
include cedar/cedar-ssl.conf;
return 301 https://cedar.metadatacenter.orgx$request_uri;
}
# frontend --------------------------------------------------------
server {
listen 80;
server_name cedar.metadatacenter.orgx;
return 301 https://cedar.metadatacenter.orgx$request_uri;
}
server {
listen 443 ssl;
server_name cedar.metadatacenter.orgx;
include cedar/cedar-ssl.conf;
location / {
proxy_pass http://cedar-frontend;
}
error_log <CEDAR_HOME>log/cedar-template-editor/nginx-error.log warn;
access_log <CEDAR_HOME>log/cedar-template-editor/nginx-access.log combined if=$loggable;
}
# folder --------------------------------------------------------
server {
listen 80;
server_name folder.metadatacenter.orgx;
return 301 https://folder.metadatacenter.orgx$request_uri;
}
server {
listen 443 ssl;
server_name folder.metadatacenter.orgx;
include cedar/cedar-ssl.conf;
location / {
proxy_pass http://cedar-backend-folder;
}
error_page 502 /errors/502.json;
location ^~ /errors/ {
internal;
root <CEDAR_HOME>cedar-conf/static-content/localhost/;
}
error_log <CEDAR_HOME>log/cedar-folder-server/nginx-error.log warn;
access_log <CEDAR_HOME>log/cedar-folder-server/nginx-access.log combined if=$loggable;
}
# group --------------------------------------------------------
server {
listen 80;
server_name group.metadatacenter.orgx;
return 301 https://group.metadatacenter.orgx$request_uri;
}
server {
listen 443 ssl;
server_name group.metadatacenter.orgx;
include cedar/cedar-ssl.conf;
location / {
proxy_pass http://cedar-backend-group;
}
error_page 502 /errors/502.json;
location ^~ /errors/ {
internal;
root <CEDAR_HOME>cedar-conf/static-content/localhost/;
}
error_log <CEDAR_HOME>log/cedar-group-server/nginx-error.log warn;
access_log <CEDAR_HOME>log/cedar-group-server/nginx-access.log combined if=$loggable;
}
# repo --------------------------------------------------------
server {
listen 80;
server_name repo.metadatacenter.orgx;
return 301 https://repo.metadatacenter.orgx$request_uri;
}
server {
listen 443 ssl;
server_name repo.metadatacenter.orgx;
include cedar/cedar-ssl.conf;
location / {
proxy_pass http://cedar-backend-repo;
}
error_page 502 /errors/502.json;
location ^~ /errors/ {
internal;
root <CEDAR_HOME>cedar-conf/static-content/localhost/;
}
error_log <CEDAR_HOME>log/cedar-repo-server/nginx-error.log warn;
access_log <CEDAR_HOME>log/cedar-repo-server/nginx-access.log combined if=$loggable;
}
# resource --------------------------------------------------------
server {
listen 80;
server_name resource.metadatacenter.orgx;
return 301 https://resource.metadatacenter.orgx$request_uri;
}
server {
listen 443 ssl;
server_name resource.metadatacenter.orgx;
include cedar/cedar-ssl.conf;
location / {
proxy_pass http://cedar-backend-resource;
}
location /api {
alias <CEDAR_HOME>cedar-swagger-ui;
}
error_page 502 /errors/502.json;
location ^~ /errors/ {
internal;
root <CEDAR_HOME>cedar-conf/static-content/localhost/;
}
error_log <CEDAR_HOME>log/cedar-resource-server/nginx-error.log warn;
access_log <CEDAR_HOME>log/cedar-resource-server/nginx-access.log combined if=$loggable;
}
# schema --------------------------------------------------------
server {
listen 80;
server_name schema.metadatacenter.orgx;
return 301 https://schema.metadatacenter.orgx$request_uri;
}
server {
listen 443 ssl;
server_name schema.metadatacenter.orgx;
include cedar/cedar-ssl.conf;
location / {
proxy_pass http://cedar-backend-schema;
}
error_page 502 /errors/502.json;
location ^~ /errors/ {
internal;
root <CEDAR_HOME>cedar-conf/static-content/localhost/;
}
error_log <CEDAR_HOME>log/cedar-schema-server/nginx-error.log warn;
access_log <CEDAR_HOME>log/cedar-schema-server/nginx-access.log combined if=$loggable;
}
# submission --------------------------------------------------------
server {
listen 80;
server_name submission.metadatacenter.orgx;
return 301 https://submission.metadatacenter.orgx$request_uri;
}
server {
listen 443 ssl;
server_name submission.metadatacenter.orgx;
include cedar/cedar-ssl.conf;
location / {
proxy_pass http://cedar-backend-submission;
}
error_page 502 /errors/502.json;
location ^~ /errors/ {
internal;
root <CEDAR_HOME>cedar-conf/static-content/localhost/;
}
error_log <CEDAR_HOME>log/cedar-submission-server/nginx-error.log warn;
access_log <CEDAR_HOME>log/cedar-submission-server/nginx-access.log combined if=$loggable;
}
# template --------------------------------------------------------
server {
listen 80;
server_name template.metadatacenter.orgx;
return 301 https://template.metadatacenter.orgx$request_uri;
}
server {
listen 443 ssl;
server_name template.metadatacenter.orgx;
include cedar/cedar-ssl.conf;
location / {
proxy_pass http://cedar-backend-template;
}
error_page 502 /errors/502.json;
location ^~ /errors/ {
internal;
root <CEDAR_HOME>cedar-conf/static-content/localhost/;
}
error_log <CEDAR_HOME>log/cedar-template-server/nginx-error.log warn;
access_log <CEDAR_HOME>log/cedar-template-server/nginx-access.log combined if=$loggable;
}
# terminology --------------------------------------------------------
server {
listen 80;
server_name terminology.metadatacenter.orgx;
return 301 https://terminology.metadatacenter.orgx$request_uri;
}
server {
listen 443 ssl;
server_name terminology.metadatacenter.orgx;
include cedar/cedar-ssl.conf;
location / {
proxy_pass http://cedar-backend-terminology;
}
location /api {
alias <CEDAR_HOME>cedar-swagger-ui;
}
error_page 502 /errors/502.json;
location ^~ /errors/ {
internal;
root <CEDAR_HOME>cedar-conf/static-content/localhost/;
}
error_log <CEDAR_HOME>log/cedar-terminology-server/nginx-error.log warn;
access_log <CEDAR_HOME>log/cedar-terminology-server/nginx-access.log combined if=$loggable;
}
# user --------------------------------------------------------
server {
listen 80;
server_name user.metadatacenter.orgx;
return 301 https://user.metadatacenter.orgx$request_uri;
}
server {
listen 443 ssl;
server_name user.metadatacenter.orgx;
include cedar/cedar-ssl.conf;
location / {
proxy_pass http://cedar-backend-user;
}
error_page 502 /errors/502.json;
location ^~ /errors/ {
internal;
root <CEDAR_HOME>cedar-conf/static-content/localhost/;
}
error_log <CEDAR_HOME>log/cedar-user-server/nginx-error.log warn;
access_log <CEDAR_HOME>log/cedar-user-server/nginx-access.log combined if=$loggable;
}
# valuerecommender --------------------------------------------------------
server {
listen 80;
server_name valuerecommender.metadatacenter.orgx;
return 301 https://valuerecommender.metadatacenter.orgx$request_uri;
}
server {
listen 443 ssl;
server_name valuerecommender.metadatacenter.orgx;
include cedar/cedar-ssl.conf;
location / {
proxy_pass http://cedar-backend-valuerecommender;
}
location /api {
alias <CEDAR_HOME>cedar-swagger-ui;
}
error_page 502 /errors/502.json;
location ^~ /errors/ {
internal;
root <CEDAR_HOME>cedar-conf/static-content/localhost/;
}
error_log <CEDAR_HOME>log/cedar-valuerecommender-server/nginx-error.log warn;
access_log <CEDAR_HOME>log/cedar-valuerecommender-server/nginx-access.log combined if=$loggable;
}
# worker --------------------------------------------------------
server {
listen 80;
server_name worker.metadatacenter.orgx;
return 301 https://worker.metadatacenter.orgx$request_uri;
}
server {
listen 443 ssl;
server_name worker.metadatacenter.orgx;
include cedar/cedar-ssl.conf;
location / {
proxy_pass http://cedar-backend-worker;
}
error_page 502 /errors/502.json;
location ^~ /errors/ {
internal;
root <CEDAR_HOME>cedar-conf/static-content/localhost/;
}
error_log <CEDAR_HOME>log/cedar-worker-server/nginx-error.log warn;
access_log <CEDAR_HOME>log/cedar-worker-server/nginx-access.log combined if=$loggable;
}
# auth --------------------------------------------------------
server {
listen 80;
server_name auth.metadatacenter.orgx;
return 301 https://auth.metadatacenter.orgx$request_uri;
}
server {
listen 443 ssl;
server_name auth.metadatacenter.orgx;
include cedar/cedar-ssl.conf;
location / {
proxy_pass https://cedar-backend-auth-https;
}
error_log <CEDAR_HOME>log/cedar-auth-server/nginx-error.log warn;
access_log <CEDAR_HOME>log/cedar-auth-server/nginx-access.log combined if=$loggable;
}
If Nginx is running, stop it:
sudo nginx -s stop
Then restart it:
sudo nginx