Eu configurei o nginx como meu servidor principal e estou usando isso para reverter o proxy para o Apache na porta: 8080. Aqui está meu arquivo de configuração do nginx para apache.example.io
#
# apache.example.io
# Testing apache + nginx
#
server {
listen 80;
root /var/www/apache-example-io;
index index.php index.html index.htm;
server_name apache.example.io www.apache.example.io;
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;
}
}
E aqui está meu arquivo para apache virtualhost
<VirtualHost 127.0.0.1:8080>
ServerName apache.example.io
ServerAlias www.apache.example.io
ErrorLog /var/www/apache-example-io/errror.log
DocumentRoot /var/www/apache-example-io/public_html
<Directory "/var/www/apache-example-io/public_html">
# Order allow,deny
# Allow from all
# New directive needed in Apache 2.4.3:
# Require all granted
AllowOverride All
</Directory>
</VirtualHost>
Eles funcionam bem se eu forhttp://apache.example.io/index Mas receberei um erro 403 nginx se eu visitarhttp://apache.example.io/ Não tenho certeza de como corrigir isso, os logs de erros do nginx são semelhantes aos seguintes:
14/03/2018 21:25:24 [erro] 24730#0:6 índice de diretório de "/var/www/" é proibido, cliente: 211., servidor: apache.example.io, solicitação: "GET / HTTP/1.1", host: "apache.example.io"
Pesquisá-los no Google e tentar consertá-los revelou-se infrutífero :(
Responder1
Acontece que, como eu estava simplesmente redirecionando certos domínios, todos eram direcionados para o meu servidor e não havia configurado uma rota padrão.
eu abri
/etc/nginx/conf.d/default.conf
E adicionei isso em:
server {
listen 80 default_server;
return 404;
}
Isso forçará todos os domínios curinga não especificados e simplesmente encaminhará para um 404. Onde eu quiser adicionar um novo domínio, eu crio um novo arquivo para ele com nginx (aplicativo NodeJS) e encaminho para esse IP, ou faço um apache virtualhost para veiculação de conteúdo PHP. :)