Jump to content

Nginx - php-fpm - privat ip address


Recommended Posts

Ситуация следующая.

Развернул сайт на сервере. Вроде как работает, все хорошо, но некоторые ссылки, пытаются открыться не через домен, а через локальный адрес сервера.

В настройках вроде все выключил (раньше все пытался открыть через адрес)

 

Схема примерно следующая.

Основной сервер - выступает в роли frontend, а backend находится в приватной сети, там настроен еще один nginx и php-fpm

 

Вопрос. Почему такое происходит и как от этого избавиться.

 

 

 

post-436540-0-46862200-1353505411_thumb.jpg

 

Из логов наиболее интересные на мой взгляд

$js_dir Smarty_Variable Object (3)

->value = "http://192.168.1.102/themes/default/js/"

->nocache = false

->scope = "Smarty root"

$pic_dir Smarty_Variable Object (3)

->value = "http://192.168.1.102/upload/"

->nocache = false

->scope = "Smarty root"

$base_uri Smarty_Variable Object (3)

->value = "http://192.168.1.102/index.php"

->nocache = false

->scope = "Smarty root"

 

Сам файл приаттачить не получилось.

Share this post


Link to post
Share on other sites

На frontend

server {

listen 80;

server_name SITE;

location / {

proxy_pass http://192.168.1.102:80;

proxy_set_header X-Real-IP $remote_addr;

}

}

 

На 192.168.1.102

 

server {

root /SITE/www;

index index.php;

server_name SITE;

location ~* ^.+.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js)$ {

if (!-f $request_filename) {

return 404;

}

fastcgi_pass 127.0.0.1:9000;

fastcgi_param SCRIPT_FILENAME /SITE/www$fastcgi_script_name;

fastcgi_index index.php;

include fastcgi_params;

}

location ~ \.php$ {

fastcgi_pass 127.0.0.1:9000;

fastcgi_param SCRIPT_FILENAME /SITE/www$fastcgi_script_name;

fastcgi_index index.php;

include fastcgi_params;

}

}

 

php-fpm - в стандартной конфигурации.

Собственно ничего интересного.

Почти весь сайт показывает нормально, за исключением нескольких файлов.

Share this post


Link to post
Share on other sites

Какой то это конфиг не полный или жутко обрезанный, где listen, root путь и index файл обычно в локейшен указывают, для php тоже root путь указывают и настроек там поболее должно быть...

 

А по поводу http://192.168.1.102:80;, может настроить внутренний dns и задать этому ip домен какой нужно и использовать не ip, а доменное имя, чтобы не было так как вы писали что в место сайта где то ip этот вылазиет..

Share this post


Link to post
Share on other sites

Listen - есть. (listen 80;)

root путь /SITE/www

По поводу index файла - мне кажется место его указания, принципаиально не сильно влияет.

В данном случае - вобще не влияет.

 

По поводу DNS - немного не понял. Если можно поподробней.

Share this post


Link to post
Share on other sites

Решил костылем

В файл config/config.inc.php добавил строчку

$_SERVER['HTTP_HOST'] = 'domain.ru';

Проблема исчезла.

Главное не забыть, когда буду переносить сайт на другой домен :)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More