Неверное значение переменной _SERVER["SERVER_PORT"]

12 3
S
На сайте с 19.11.2007
Offline
64
2879

Здравствуйте.

Столкнулся с такой проблемой.

На сервере установлена связка ngnix + apache

на фронтенде (порт 80) стоит ngnix

apache соответственно на бэкенде.

Проблема в том, что на субдоменах неверно задано значение перемеренной _SERVER["SERVER_PORT"], в нем указан порт на котором стоит apache.

При этом если смотреть эту переменную скриптом запущенным из главного домена то значение переменной нужное (порт 80).

Прошу если кто сталкивался с подобным подсказать, с чем на ваш взгляд может быть связанна данная ошибка?

AboutSEO
На сайте с 18.01.2007
Offline
154
#1

последнее время сталкивался часто с подобными ошибками, особенно при переездах с сервера на сервер, мне помогала @, хотя спецы пишут, что нежелательно/нельзя так делать, но на крайняк спасало.

в твоем примере как понимаю будет так - @$_SERVER["SERVER_PORT"] .

либо я не савсем понял ошибку вашу.

S
На сайте с 19.11.2007
Offline
64
#2
AboutSEO:
последнее время сталкивался часто с подобными ошибками, особенно при переездах с сервера на сервер, мне помогала @, хотя спецы пишут, что нежелательно/нельзя так делать, но на крайняк спасало.
в твоем примере как понимаю будет так - @$_SERVER["SERVER_PORT"] .
либо я не савсем понял ошибку вашу.

Я наверно не так изложил суть, простите.

Ошибка в том что значение $_SERVER["SERVER_PORT"] = 81 (порт апача) а должно быть равно 80 (порт фронтенда).

Вот как ее исправить не убирая сязку ngnix-apache я и не пойму.

Странность еще в том что на основном домене (например сайт.ру) эта переменная равна 80, а на поддомен.сайт.ру равна 81.

M
На сайте с 16.09.2009
Offline
278
#3

конфиг nginx в студию

Абонементное сопровождение серверов (Debian) Отправить личное сообщение (), написать письмо ().
S
На сайте с 19.11.2007
Offline
64
#4
myhand:
конфиг nginx в студию

В атаче

Все ip адреса заменил по маске ([0-9]+).([0-9]+).([0-9]+).([0-9]+) => *.*.*.\4

т.е. от айпи оставил видимыми только подсеть D класса

остальное без изменений

txt nginx.txt
M
На сайте с 16.09.2009
Offline
278
#5

А сравнить определения virtualhost главного домена и остальных?

S
На сайте с 19.11.2007
Offline
64
#6
myhand:
А сравнить определения virtualhost главного домена и остальных?

В конфиге ngnix'a?

Подскажите как именно.

M
На сайте с 16.09.2009
Offline
278
#7

эм, нехорошо выразился - в конфиге апача, конечно.

S
На сайте с 19.11.2007
Offline
64
#8
myhand:
эм, нехорошо выразился - в конфиге апача, конечно.

Вот настройки VirtualHost

домен сайта заменен на "domain.ru"

ip также изменил по тойже маске (оставил только подсеть D класса)


<VirtualHost *.*.*.124:443>
ServerName domain.ru
ServerAlias www.domain.ru
DocumentRoot /home/domain/public_html
ServerAdmin webmaster@domain.ru
UseCanonicalName off
CustomLog /usr/local/apache/domlogs/domain.ru combined
CustomLog /usr/local/apache/domlogs/domain.ru-bytes_log "%{%s}t %I .\n%{%s}t %O ."
## User domain # Needed for Cpanel::ApacheConf
<IfModule mod_suphp.c>
suPHP_UserGroup domain domain
</IfModule>
<IfModule concurrent_php.c>
php4_admin_value open_basedir "/home/domain:/usr/lib/php:/usr/php4/lib/php:/usr/local/lib/php:/usr/local/php4/lib/php:/tmp"
php5_admin_value open_basedir "/home/domain:/usr/lib/php:/usr/local/lib/php:/tmp"
</IfModule>
<IfModule !concurrent_php.c>
<IfModule mod_php4.c>
php_admin_value open_basedir "/home/domain:/usr/lib/php:/usr/php4/lib/php:/usr/local/lib/php:/usr/local/php4/lib/php:/tmp"
</IfModule>
<IfModule mod_php5.c>
php_admin_value open_basedir "/home/domain:/usr/lib/php:/usr/local/lib/php:/tmp"
</IfModule>
<IfModule sapi_apache2.c>
php_admin_value open_basedir "/home/domain:/usr/lib/php:/usr/php4/lib/php:/usr/local/lib/php:/usr/local/php4/lib/php:/tmp"
</IfModule>
</IfModule>
<IfModule !mod_disable_suexec.c>
SuexecUserGroup domain domain
</IfModule>
ScriptAlias /cgi-bin/ /home/domain/public_html/cgi-bin/
SSLEngine on

SSLCertificateFile /etc/ssl/certs/domain.ru.crt
SSLCertificateKeyFile /etc/ssl/private/domain.ru.key
CustomLog /usr/local/apache/domlogs/domain.ru-ssl_log combined
SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown
<Directory "/home/domain/public_html/cgi-bin">
SSLOptions +StdEnvVars
</Directory>

# To customize this VirtualHost use an include file at the following location
# Include "/usr/local/apache/conf/userdata/ssl/2/domain/domain.ru/*.conf"

</VirtualHost>
M
На сайте с 16.09.2009
Offline
278
#9

очевидно, это к делу не относится. тут порт 443

S
На сайте с 19.11.2007
Offline
64
#10
myhand:
очевидно, это к делу не относится. тут порт 443

Тогда куда копать, в чем на Ваш взгляд может быть причина неверного значения переменной SERVER_PORT на субдоменах?

12 3

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий