svd71
@svd71

Настройка nginx(proxy) + apache с реврайтом url?

server {
        listen   80; 

        root /var/www/; 
        index index.php index.html index.htm;

        server_name example.com; 

        location / {
        try_files $uri $uri/ /index.php;
        }

        location ~ \.php$ {
        
        proxy_set_header X-Real-IP  $remote_addr;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_set_header Host $host;
        proxy_pass http://127.0.0.1:8080;

         }

         location ~ /\.ht {
                deny all;
        }
}


особенно смущает секция location.

1. Но судя по скрипту конфигурации могут возникнуть проблемы при включеном у apache rewrite из .htaccess. Так ли это? Или я не прав? Что можно вообще сделать, чтоб nginx заработал в режиме прокси без танцев с апачем с подобной конфигурацией?

2. Перед тем как что то ставить клиенту, хочу поэкспериментировать на домашнем компе. У меня как раз Ubuntu. Но у клиента стоит CentOS с уже устанобленным Apache и сайтом. Есть ли различия при настройке или какие-нибудь предварительные танцы, которые необходимо предусмотреть?

3. У клиента крутится две виртуалки: на 80м порту и зеркало на 443м. Нужно ли что то в конфиге добавить?
  • Вопрос задан
  • 46820 просмотров
Пригласить эксперта
Ответы на вопрос 2
fornit1917
@fornit1917
Что можно вообще сделать, чтоб nginx заработал в режиме прокси без танцев с апачем с подобной конфигурацией?

Можно прокси прописать в location /
Тогда все будет проксироваться достаточно прозрачно на апач, и htaccess нормально будет работать. Но если вам хочется, чтобы статику все же nginx отдавал а не апач, то надо для статики отдельный локейшн настроить.

Есть ли различия при настройке этой бяки или какие-нибудь предварительные танцы, которые необходимо предусмотреть?

Принципиальной разницы нет. Отличается структурой конфигов только (по-разному на файлы разбиты, по-разному файлы и папки с конфигами называются и т.д.), а суть та же.
На CentOS правда бывает нередко SELinux включен, который дополнительного гемора при настройке нередко добавляет.
Собственно, никто вам не мешает поднять у себя виртуалку с CentOS, чтобы максимальное сходство с сервером клиента было.

У клиента крутится две виртуалки: на 80м порту и зеркало на 443м. Нужно ли что то в конфиге добавить?

Вот этот вопрос не совсем понял, что вы имеете в виду.
Ответ написан
@inkvizitor68sl
Linux-сисадмин с 8 летним стажем.
> Но судя по скрипту конфигурации могут возникнуть проблемы при включеном у apache rewrite из .htaccess
Нет, не возникнет. location ~ /\.ht в данном случае запрещает обращение по http к файлам .ht*. Сам апач к этим файлам, само собой, доступ иметь будет.

Для режима тупого прокси понадобится примерно такой конфиг - hastebin.com/dexoqotopu.nginx (при условии, что апач на локалхосте на 81м порту слушает)
Само собой, по вкусу его нужно набить всякими error_page, access_log/error_log и так далее.

SSL включается примерно так:
listen 443 ssl;
ssl_certificate /var/www/certs/domain.ru-bundled.crt;
ssl_certificate_key /var/www/certs/domain.ru.key;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;


Если у апача конфигурация одинаковая и для http, и для https

В centos пути до конфигов могут отличаться (у апача - /etc/httpd, например), а так всё то же самое.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы