Конфигурация Nginx для сервера Oracle Linux, возвращающая / перенаправляющая на страницу Oracle по умолчанию

#node.js #linux #oracle #nginx

#node.js #linux #Oracle #nginx

Вопрос:

скриншот веб-страницы

Конфигурация Nginx:

 server
{
    listen 80;

    server_name ****;

    listen [::]:80 default_server ipv6only=on;

}

server
{
    listen 443;

    server_name ****;

    location /
    {
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-NginX-Proxy true;
        proxy_pass http://localhost:8080/;
        proxy_ssl_session_reuse off;

        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;

        proxy_cache_bypass $http_upgrade;
        proxy_redirect off;
    }
}

server
{
    listen 443;

    server_name ****;
    
    location /
    {
        #root /var/www/tite_staging/public/www/;

        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-NginX-Proxy true;
        proxy_pass http://localhost:8080/;
        proxy_ssl_session_reuse off;

        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;

        proxy_cache_bypass $http_upgrade;
        proxy_redirect off;
    }
}
  

удалено «return 302 https://$host$request_uri;» из http-блока, поскольку это вызывает ошибку ERR_TOO_MANY_REDIRECTS

Могу ли я узнать, в чем проблема? Спасибо. Запуск приложения javascript с узловым сервером

Ответ №1:

 server {
    listen       80;
    # catch all server names here
    server_name  _;

    return 301 https://$host$request_uri;
}

server {
    listen       443;
    server_name  tite.rdc.nie.edu.sg;

    location / {
        proxy_pass http://localhost:8080/;
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

server {
    listen       443;
    server_name  staging.tite.rdc.nie.edu.sg;

    location / {
        proxy_pass http://localhost:8088/;    # <--- SEE PORT HERE
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}
  

Предположения:

  • URLtite.rdc.nie.edu.sg запуск ветви приложения A на сервере A
  • URLstaging.tite.rdc.nie.edu.sg запуск ветви приложения B на сервере A

Означает, что вы не можете запускать два разных приложения на одном сервере за одним и тем же портом. Во время запуска приложения вы должны получить сообщение об ошибке, что-то вроде:

 Bind address already in use
  

Также проверьте папку /etc /nginx / config, если она не содержит других (по умолчанию) файлов *.conf

Комментарии:

1. Привет @Facty спасибо за помощь. Он обслуживался везде, где корень определен в основном файле конфигурации nginx (/etc /nginx /nginx.conf), потому что я не определил корень в HTTP-блоке. Используя только http-блок, прослушивающий порт 80 (вкл. root / var /www/….) сделал свое дело