Авторизация
Теги сайта
0х0000007b 1c 1с access control list acl activation active directory ad roles add route adexplorer apache authentication to zabbix bare metal recovery bg zsh bicycle books bruteforce ccna centos centos packet certificate change net adapter name chap chkrootkit chmod cinnamon cisco class clipboard cmd configuring cpu cores cron crontab csc custom object cut cvsup cvsup-without-gui db dekorator dev null 2 1 dhcp dhcp reservation disable ipv6 diskpart dism django dns domain naming master domain roles download download powershell enable routing on windows enabled encapsulation english english language esx eventlog fail2ban fastest_cvsup fedora fg zsh field formatdatabase freebsd fsmo get-aduser hardware https hyper-v idioms iis inheritance iperf iptables iscsi jobs kernel panic ldap ldap аутентификация zabbix limit lingualeo linux mcitp mcsa memory check method microsoft mod_ssl mount mssql mysql mysql user password netcache network network config network load balance cluster network scripts nginx nlb num lock numlock oop openssl pap partition pdc permissions pfx php pipeline pkg_version polymorphism ports upgrade portupgrade posix powershell ppp puppet pwdlastset python rdp regedit registry remote enable restrictions reverse proxy rhel rid rope jumping bridge мост прыжок высота route add route freebsd routing protocol rpm sc sc sdset sc sdshow schema scope script output secure web security service permissions services session set dns servers set ip address sftp shell script show variables snmp sound scheme sounds speed ssh ssl standard-supfile subinacl supfile switch switchport sync syncronization task sсheduler tempdb tripplite monitoring tweaks unix user must change password at next logon utf8 vim vlan vmware w32tm web windows windows 2003 r2 windows 2008 r2 windows firewall windows server windows server 2012 windows server backup windows service permissions windows пингалка winre wsus xargs xrdp yum zabbix zabbix external check zabbix ldap authentication zsh автоматическое обновление портов freebsd автономные файлы активация английский язык база данных безопасность active directory буфер вело велосипед видео включение роутинга в windows внешняя проверка zabbix вредоносное программное обеспечение posix задание двумерного массива звуки звуковая схема идиомы иероглифы киев кодировка командная строка конфигурация сети маршрутизация маршруты в freebsd маршруты в redhat linux область обновление портов ограничения windows основные команды пакеты centos перевод перенос планировщик задач покатушки полет над днепром проблемы кодировки протокол путь развития в it разрешения служб windows регистрируем cmd скриптом недоступность хоста реестр резервирование ip скриптом роли домена русские символы синхронизация скачать скачать powershell скачать книгу скорость сети списки контроля доступа тарзанка твики фоновые процессы цикл mssql
Скрываем часть ресурсов IIS средствами Nginx as Reverse Proxy (CentOS 7) |
ЗадачаЕсть Web-сервер на IIS, обслуживающий клиентские запросы во внутренней подсети. Стала задача предоставления части услуг, обеспечиваемых этим web-сервером, внешним пользователям через интернет. Однако было необходимо, чтобы внешние пользователи могли получить доступ только к ограниченному (заданному) списку адресов URL. Учитывая большое количество других ресурсов, обслуживаемых нашим сервером IIS, а также факт доступа к этому серверу команды разработчиков, да и в целом это не отдельный сервер, а кластер NLB с несколькими узлами (что заставило бы править разрешения на всех узлах каждый раз, при необходимости что-либо добавить или поменять) было принято решение не заморачиваться с правами web.config (дабы исключить дальнейшую потенциальную угрозу безопасности) и развернуть отдельный Linux сервер и настроить на нем обратный веб-прокси-сервер средствами Nginx.
Ссылки, необходимые для выставления наружу:http://10.0.0.2/arcgis/rest/services/gis_ort_stat_general/MapServer http://10.0.0.2/arcgis/rest/services/dug_multi/MapServer
Установка и настройка Nginx[]# yum -y install net-tools bind-utils telnet wget tree mlocate vim gcc cifs-utils samba-client tcpdump zip unzip whois openssh-clients screen bash-completion # Изначально я установил и обновил CentOS 7 Linux в сборке Minimal, поэтому ставлю базовые утилиты, которые могут понадобиться для работы []# yum -y install epel-release # Устанавливаем репозиторий EPEL []# sed -i -r 's/^enabled=1/enabled=0/g' /etc/yum.repos.d/epel.repo # Лично я не люблю когда дополнительные репозитории включены по умолчанию, поэтому исправляем в конфиге epel значение enabled на 0 []# yum -y --enablerepo=epel install htop saidar # Устанавливаем базовые утилиты из репозитория Epel []# yum -y --enablerepo=epel install nginx # Устанавливаем веб-сервер Nginx []# firewall-cmd --permanent --zone=public --add-service=http # Открываем 80 порт в брандмауэре для Public зоны success []# firewall-cmd --permanent --zone=public --add-service=https # Открываем 443 порт в брандмауэре для Public зоны success []# firewall-cmd --reload # Заставляем брандмауэр применить конфигурацию success []# vim /etc/nginx/nginx.conf # С корректировками заменяем конфиг на следующий worker_processes 5; events { worker_connections 1024; } http { server { listen 80; server_name external.domain.com www.external.domain.com; location /arcgis/rest/services/gis_ort_stat_general/MapServer { proxy_cache off; proxy_set_header x-real-IP $remote_addr; proxy_set_header Host $http_host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://10.0.0.2/arcgis/rest/services/gis_ort_stat_general/MapServer; } location /arcgis/rest/services/dug_multi/MapServer { proxy_cache off; proxy_set_header x-real-IP $remote_addr; proxy_set_header Host $http_host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://10.0.0.2/arcgis/rest/services/dug_multi/MapServer; } } } []# nginx -t # Проверяем конфиг на ошибки nginх: the configuration filе /etc/nginх/nginх.conf syntax is ok nginх: configuration filе /etc/nginх/nginх.conf tеst is successful []# systemctl enable nginx # Включаем nginх в автозагрузку []# reboot # Перезагружаем систему []# systemctl status nginx # Проверяем работу после перезагрузки nginх.sеrvice - The nginх HTTP and reverse proxy server Loaded: loaded (/usr/lib/systemd/system/nginх.sеrvice; enabled) Active: active (running) since Fri 2015-07-03 12:02:43 EEST; 7s ago {Output ommited}...
При доступе с клиента (браузера) к настроенному web-reverse-proxy обратите внимание на правильно сконфигурированный DNS
|