Ruby
- 1 ответ
- 0 вопросов
0
Вклад в тег
user sample;
worker_processes 4;
http {
include mime.types;
...
# если используете HTTPS - подключаете строки ниже:
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:20m;
ssl_session_timeout 20m;
ssl_buffer_size 6k;
# здесь рекурсивно подключаете все свои сервисы
include /etc/nginx/servers-enabled/*;
}
upstream foo {
# здесь есть 2 способа проксировать своё приложение: UNIX-сокет (puma умеет такое делать)...
server unix:/srv/http/foo/shared/sockets/puma.sock fail_timeout=0;
# ... или адрес:
server 127.0.0.1:9292 fail_timeout=0;
}
server {
listen 80;
server_name foo.mydisc.com;
# если используете HTTPS - редирект
return https://foo.mydisc.com$request_uri;
}
server {
listen 443 ssl http2;
server_name foo.mydisc.com;
root /srv/http/foo/public;
ssl_certificate /etc/certs/mycert/fullchain.pem;
ssl_certificate /etc/certs/mycert/privkey.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
add_header Strict-Transport-Security 'max-age=1209600'; # HSTS на 1 год
location {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_redirect off;
proxy_pass http://foo;
}
location ~ ^/(assets|fonts|system)/|favicon.ico|robots.txt { # папка с ассетами
gzip_static on;
expires max;
add_header Cache-Control public;
}
# можете настроить под себя
# error_page 500 502 503 504 /500.html;
# client_max_body_size 4G;
# keepalive_timeout 70;
}
upstream bar {
# здесь есть 2 способа проксировать своё приложение: UNIX-сокет (puma умеет такое делать)...
server unix:/srv/http/bar/shared/sockets/puma.sock fail_timeout=0;
# ... или адрес:
server 127.0.0.1:<b>9393</b> fail_timeout=0;
}
server {
listen 80;
server_name bar.mydisc.com;
# если используете HTTPS - редиректите
return https://bar.mydisc.com$request_uri;
}
server {
listen 443 ssl http2;
server_name bar.mydisc.com;
root /srv/http/bar/public;
ssl_certificate /etc/certs/mycert/fullchain.pem;
ssl_certificate /etc/certs/mycert/privkey.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
add_header Strict-Transport-Security 'max-age=1209600'; # HSTS на 1 год
location {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_redirect off;
proxy_pass http://bar;
}
location ~ ^/(assets|fonts|system)/|favicon.ico|robots.txt { # папка с ассетами
gzip_static on;
expires max;
add_header Cache-Control public;
}
# можете настроить под себя
# error_page 500 502 503 504 /500.html;
# client_max_body_size 4G;
# keepalive_timeout 70;
}
ln -s ../servers-available/foo .
ln -s ../servers-available/bar .
# nginx -t