【问题标题】:Nginx Configuration for Oracle Linux Server returning/redirecting to default oracle pageOracle Linux 服务器的 Nginx 配置返回/重定向到默认 oracle 页面
【发布时间】:2020-12-27 19:15:15
【问题描述】:

webpage screenshot

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.js linux oracle nginx


    【解决方案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;
        }
    }
    

    假设:

    • 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 文件,请检查它

    【讨论】:

    • 嗨@Facty 谢谢你的帮助。它在主 nginx 配置文件 (/etc/nginx/nginx.conf) 中定义根的任何地方提供服务,因为我没有在 HTTP 块中定义根。只使用监听端口 80 的 http 块(包括 root /var/www/....)就可以了
    猜你喜欢
    • 2017-07-18
    • 1970-01-01
    • 2014-09-03
    • 1970-01-01
    • 2019-10-02
    • 2012-08-02
    • 1970-01-01
    • 1970-01-01
    • 2010-11-10
    相关资源
    最近更新 更多