Я там вначале не досказал…
В целом о чем я:
Вот есть допустим плагин хлебных крошек для WordPress Breadcrumb NavXT, авторы говорят включи плагин и вставь в свой шаблон этот код:
<?php if(function_exists('bcn_display'))
{
bcn_display();
}?>
И будут у тебя хлебные крошки, ну это к примеру. Они рекомендуют выполнять эту проверку if function_exists.
Но я ведь и так знаю, что если плагин включен, то функция работает, собственно почему не вызывать её без проверки напрямую.
Так я вот и думаю, нужна ли эта проверка если я точно знаю, что эта функция работает и будет работать постоянно, зачем она… Мне кажется это делают разработчики тем и шаблонов чтобы если чё не было ошибки и функция просто не вызывалась, но мне это зачем если я точно знаю, что и зачем вызываю текущей функцией…
Да, все будет работать.
Будет при условии проксирования на Apache.
Просто покажите конфигурацию NGINX блок server { } , замените адрес сайта, если не хотите его здесь палить.
server { server_name site.ru www.site.ru; listen XXX.XX.XX.XX; charset UTF8; index index.php; set $root_path /var/www/www/site.ru; location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)$ { root $root_path; access_log /var/nginx-logs/user isp; access_log /var/httpd-logs/site.ru.access.log ; error_page 404 = @fallback; } location / { proxy_pass http://XXX.XX.XX.XX:8080; proxy_redirect http://XXX.XX.XX.XX:8080/ /; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Real-IP $remote_addr; } location ~* ^/(webstat|awstats|webmail|myadmin|pgadmin)/ { proxy_pass http://XXX.XX.XX.XX:8080; proxy_redirect http://XXX.XX.XX.XX:8080/ /; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Real-IP $remote_addr; } location @fallback { proxy_pass http://XXX.XX.XX.XX:8080; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Real-IP $remote_addr; } location ^~ /webstat/ { auth_basic "Restricted area"; auth_basic_user_file /var/www/user/data/etc/5126789.passwd; try_files $uri @fallback; } include /usr/local/ispmgr/etc/nginx.inc; }
Как я понимаю раз много слов proxy есть в конфиге :), значит он проксируется на Апач.
Так тут то я и не понимаю, когда я допустим подключаю сертификаты и делаю поддержку SSL в NGINX:
server { listen 443 ssl; server_name xxx.ru; ssl_certificate /etc/ssl/xxx.crt; ssl_certificate_key /etc/ssl/xxx.key; }
Перезагружаю сервер NGINX и он пишет - что ошибка и не запускается ну т.к. как я понял занят 443 порт и на нем работает Apache.
1. Не открывать порт 443 на Apache, сделать возможной работу только по HTTP-протоколу на внутреннем порту, закрытым извне.
2. В Nginx настроить TLS/SSL, указать сертификаты и проксировать до HTTP-порта Apache.
Если все происходит на одном сервере - это актуально, нет смысла шифровать подключение между NGINX и Apache в локальной сети.