Nginx е популярен уеб сървър, който можете да обмислите да използвате като прокси сървър пред Foundry Virtual Tabletop. Има редица предимства при използването на прокси сървър като Nginx, като използването на поддомейн, използване на външен порт, който е различен от вашия Foundry VTT порт, по-силен контрол на достъпа и по-бързо обслужване на статични файлове. Тази статия предоставя основен преглед на използването на Nginx с Foundry Virtual Tabletop. Има много разширени опции, които не са обхванати тук.
Моля, имайте предвид, че използването на прокси сървър като Nginx, макар и да е предимство за специализирани уеб хостове, абсолютно не е необходимо, за да използвате Foundry Virtual Tabletop.
Започнете с инсталиране на Nginx за вашата Linux дистрибуция. Някои общи примери са дадени по-долу, но вижте документацията на Nginx за вашия Linux вкус.
Това ръководство предполага основно ниво на познаване на операционната система Linux и как да работите с нея. Ако сте съвсем нов в Linux, препоръчваме да започнете с урок за начинаещи за командния ред на Linux, преди да продължите.
Ubuntu или Debiansudo apt-get updatesudo apt-get install nginxRed Hat или CentOSsudo yum update -ysudo yum install nginxAmazon Linux 2sudo yum update -ysudo amazon-linux-extras install nginx1 -yNginx изисква конфигурационен файл, който определя как функционира сървърът. Функционална отправна точка за започване на тестване на Nginx е следната конфигурация, която не използва SSL сертификати (можем да ги активираме по-късно). За целите на този пример приемаме, че Foundry Virtual Tabletop работи от /home/ec2-user/foundryvtt, но инсталационният път на вашето приложение може да е различен, трябва да коригирате съответно конфигурационния файл.
Не забравяйте да актуализирате препратките към your.hostname.com в конфигурацията.
# Това влиза във файл в /etc/nginx/sites-available/. По конвенция# името на файла ще бъде или "your.domain.com" или "foundryvtt", но това# наистина няма значение, стига да е уникално и описателно за вас.# Дефиниране на Serverserver {# Въведете вашето пълно квалифицирано име на домейн или leave blankserver_name your.hostname.com;# Слушане на порт 80 без SSL сертификатиlisten80;# Задава максималния размер на качване на 300 MBclient_max_body_size 300M;# Заявки за прокси към Foundry VTTlocation / {# Задаване на прокси заглавияproxy_set_header Хост $host;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;# Те са важни за поддръжката на WebSocketsproxy_set_header Upgrade $http_upgrade;proxy_set_header Connection "Upgrade";# Уверете се, че сте задали вашия номер на Foundry VTT порт proxy_pass http://localhost:30000;}}< p>След като конфигурирате Nginx, има някои конфигурации за Foundry Virtual Tabletop в статията за конфигуриране на приложения, които също ще искате да приложите. Задайте следните опции във вашия файл Foundry VTT {userData}/Config/options.json, който ще инструктира Foundry, че сървърът работи с прокси сървър пред него на порт 80.Моля, имайте предвид, че ако вашето местоположение на Foundry VTT се хоства в местоположение на подпапка, като mysite.com/foundryvtt, ще трябва да дефинирате routePrefix, както е посочено в статията за конфигуриране на приложение.
"hostname": "your.hostname.com","routePrefix": null,"sslCert": null,"sslKey": null,"port": 30000,"proxyPort": 80След като сте конфигурирали обратното прокси, ще искате да рестартирате прокси екземпляра, както и вашия екземпляр на Foundry VTT, за да сте сигурни, че новите настройки са активни.
Можете да използвате помощната програма за услуги, за да управлявате лесно своя Nginx сървър.
# Активиране на нов sitesudo ln -s /etc/nginx/sites-available/your.hostname.com /etc/nginx/sites-enabled/# Тествайте вашите конфигурационни файлове sudo service nginx conftest# Стартирайте Nginxsudo услуга nginx start# Стоп Nginxsudo услуга nginx stop # Рестартирайте услугата Nginxsudo nginx restartЗа по-разширено използване можете да добавите SSL сертификати за допълнителна сигурност. Започнете със създаване на SSL сертификати, препоръчваме да използвате Certbot. След като вашите сертификати бъдат създадени, вашият конфигурационен файл на Nginx ще бъде актуализиран, за да използва порт 443 и SSL сертификатите, които сте създали.
Не забравяйте да актуализирате препратките към your.hostname.com в конфигурацията.
# Това влиза във файл в /etc/nginx/sites-available/. По конвенция# името на файла ще бъде или "your.domain.com" или "foundryvtt", но това# наистина няма значение, стига да е уникално и описателно за вас.# Дефиниране на Serverserver {# Въведете вашето пълно квалифицирано име на домейн или leave blankserver_name your.hostname.com;# Слушане на порт 443 с помощта на SSL сертификатиlisten443 ssl;ssl_certificate "/etc/letsencrypt/live/your.hostname.com/fullchain.pem";ssl_certificate_key "/etc/letsencrypt/live/your.hostname .com/privkey.pem";# Задава максималния размер на качване на 300 MBclient_max_body_size 300M;# Прокси заявки към Foundry VTTlocation / {# Задаване на прокси заглавияproxy_set_header Хост $host;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;# Те са важни за поддръжката на WebSocketsproxy_set_header Upgrade $http_upgrade;proxy_set_header Connection "Upgrade";# Уверете се, че сте задали вашия номер на Foundry VTT порт proxy_pass http://localhost:30000;}}# По избор, но препоръчваме. Пренасочва всички HTTP заявки към HTTPS за вашия сървър {if ($host = your.hostname.com) {return 301 https://$host$request_uri;}listen 80;listen [::]:80;server_name your.hostname.com ;return 404;}След като редактирате конфигурацията на Nginx, за да включите вашите SSL сертификати, не забравяйте да направите тест за конфигурация, преди да рестартирате сървъра си. И накрая, има някои допълнителни опции за конфигурация за Foundry Virtual Tabletop, които също бихте искали да приложите. Задайте следните опции във вашия файл Foundry VTT {userData}/Config/options.json, който ще инструктира Foundry, че сървърът работи с прокси сървър пред него на порт 443.
"hostname": "your.hostname.com", "routePrefix": null, "sslCert": null, "sslKey": null, "port": 30000, "proxyPort": 443, "proxySSL": truePREV: Как да коригирам RDP, възникнала е вътрешна грешка?
NEXT: Как да обвържете ldap с акаунт на чужд доверен домейн за удостоверяване на приложението