Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎ ΠΆΠ΅ ΠΏΠΎΠ»Π½ΠΎΠ΅ Π΄ΠΎΠΌΠ΅Π½Π½ΠΎΠ΅ имя, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ api.itisgood.ru, для обслуТивания Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… сайтов ΠΈΠ»ΠΈ API, это руководство ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ.
Если Ρƒ вас Π΅ΡΡ‚ΡŒ Π΄Π²Π° сайта, Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½Π½Ρ‹Π΅ Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… сСрвСрах Π² вашСй срСдС, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для ΠΏΡ€ΠΎΠ΄Π°ΠΆ ΠΈ бухгалтСрского ΡƒΡ‡Π΅Ρ‚Π°, ваши ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ сайтам.
Для доступа ΠΊ ΠΏΡ€ΠΎΠ΄Π°ΠΆΠ°ΠΌ https://api.itisgood.ru/sales 

Для доступа ΠΊ Π±ΡƒΡ…Π³Π°Π»Ρ‚Π΅Ρ€ΠΈΠΈ https://api.itisgood.ru/accounts
Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎ ΠΆΠ΅ ΠΏΠΎΠ»Π½ΠΎΠ΅ Π΄ΠΎΠΌΠ΅Π½Π½ΠΎΠ΅ имя для обслуТивания Ρ€Π°Π·Π½Ρ‹Ρ… сайтов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ ΠΏΠΎ /sales ΠΈ /accounting.
Π­Ρ‚ΠΎ сэкономит Π²Π°ΠΌ большС общСдоступных IP-адрСсов ΠΈ ΠΏΡ€Π°Π²ΠΈΠ» брандмауэра, Ссли ΠΎΠ½ Ρƒ вас ΠΎΠ΄ΠΈΠ½ Π² вашСй срСдС.
ΠœΡ‹ надССмся, Ρ‡Ρ‚ΠΎ Nginx ΡƒΠΆΠ΅ установлСн ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.
--- Установка Nginx Π½Π° Ubuntu / Debian ------
$ sudo apt -y install nginx
$ sudo systemctl enable --now nginx

--- Установка Nginx Π½Π° CentOS / Fedora ------
$ sudo yum -y install nginx
$ sudo systemctl enable --now nginx

--- Установка Π½Π° Arch Linux / Manjaro ------
$ sudo pacman -S nginx
$ sudo systemctl enable --now nginx

Π¨Π°Π³ 1: Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚Π΅ основной Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Nginx

ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Nginx ΠΈ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ строку Π² Ρ‡Π°ΡΡ‚ΡŒ http.

Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° находится Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Ρ… скобок http.

http {
....
......

include /etc/nginx/sites.d/*.conf;
}
Π­Ρ‚ΠΎ добавляСт Ρ„Π°ΠΉΠ»Ρ‹ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π² /etc/nginx/sites.d/ для nginx, Ρ‡Ρ‚ΠΎΠ±Ρ‹ систСма ΠΌΠΎΠ³Π»Π° Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π½ΠΈΠΌΠΈ.

Π¨Π°Π³ 2: Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ основной Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ сайта

Π”Π°Π²Π°ΠΉΡ‚Π΅ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ FQDN нашСго основного сайта Π² /etc/nginx/sites.d

$ sudo vim https://api.itisgood.ru

server {
  listen 80;
  server_name  https://api.itisgood.ru;
  return 301 https://api.itisgood.ru$request_uri;
}
 
server {
  listen 443 ssl http2;
  server_name https://api.itisgood.ru; 
  modsecurity_transaction_id "api.itisgood.ru-$request_id"; 
  access_log           /var/log/nginx/test-api-access.log; 
  error_log            /var/log/nginx/test-api-error.log; 
  include              /etc/nginx/default.d/api.itisgood.ru/*.conf;
}

ΠšΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ сайты Π±ΡƒΠ΄ΡƒΡ‚ располоТСны Π² /etc/nginx/default.d/itisgood.ru/ ΠΈ, ΠΊΠ°ΠΊ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, это Π±Ρ‹Π»ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ Π² наш Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.

Π¨Π°Π³ 3. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ сайта

Π’Π΅ΠΏΠ΅Ρ€ΡŒ создайтС сайты Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ /etc/nginx/default.d/api.api.itisgood.ru/, ΠΊΠ°ΠΊ ΡƒΠΊΠ°Π·Π°Π½ΠΎ Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π²Ρ‹ΡˆΠ΅.

Π’ этой настройкС ΠΌΡ‹ создадим ΠΎΠ΄ΠΈΠ½ для sales:

cd /etc/nginx/default.d/api.itisgood.ru
Π­Ρ‚Π° конфигурация Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ Π½Π° сСрвСр 1 (192.168.55.60), Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ сайт sales, ΠΏΡ€ΠΎΡΠ»ΡƒΡˆΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ ΠΏΠΎΡ€Ρ‚ 8443.
$ sudo vim sales.conf
location /sales/ {
  proxy_http_version 1.1;
  proxy_pass https://192.168.55.60:8443/sales/;
  proxy_cache_bypass $http_upgrade;
  proxy_set_header Connection 'upgrade';
  proxy_set_header Upgrade $http_upgrade;
}
$ sudo vim accounts.conf 
location /accounts/ {
   proxy_http_version 1.1;
   proxy_pass https://192.168.55.63:8080/accounts/;
   proxy_cache_bypass $http_upgrade;
   proxy_set_header Connection 'upgrade';
   proxy_set_header Upgrade $http_upgrade;
}
Π­Ρ‚ΠΎ всС, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ для настройки вашСго nginx Π½Π° прокси Π²Π°ΡˆΠΈΡ… сайтов ΠΈΠ»ΠΈ API с использованиСм Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ FQDN.


 

Please follow and like us:

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ