首页 > 解决方案 > Oracle Linux 服务器的 Nginx 配置返回/重定向到默认 oracle 页面

问题描述

网页截图

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;
    }
}

删除“返回 302 https://$host$request_uri;” 来自 http 块,因为它会导致 ERR_TOO_MANY_REDIRECTS 错误

我可以知道这里有什么问题吗?谢谢你。使用节点服务器运行 javascript 应用程序

标签: node.jslinuxoraclenginx

解决方案


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;
    }
}

假设:

  • URL tite.rdc.nie.edu.sg在服务器 A 上运行应用程序分支 A
  • URL staging.tite.rdc.nie.edu.sg在服务器 A 上运行应用程序分支 B

意味着您不能在同一端口后面的同一台服务器上运行两个不同的应用程序。在应用程序启动期间,您应该收到错误消息,例如:

Bind address already in use

如果 /etc/nginx/config 文件夹不包含其他(默认)*.conf 文件,还要检查它


推荐阅读