suchen

Heim  >  Fragen und Antworten  >  Hauptteil

So springen Sie zu url.com:9000, wenn Sie unter nginx auf url.com zugreifen (ähnlich wie beim 301-Sprung)

Erwartete Ergebnisse:

Besuchen Sie http://url.com 自动将网址跳转到 http://url.com:9000, ähnlich einem 301-Sprung, und auch die Adressleiste ändert sich entsprechend.

Da url.com diese URL nicht existiert, wird der Host lokal geschrieben, um auf die IP zu verweisen

Schreiben Sie den folgenden Inhalt in Nginx:

server {
    listen 80;
    server_name url.com;
    location / {
        proxy_pass http://url.com:9000;
    }
}

Aber beim Testen der Nginx-Konfigurationsdatei wird Folgendes angezeigt:

$ sudo nginx -t
nginx: [emerg] host not found in upstream "seafile.sfdev.com" in /etc/nginx/sites-enabled/seafile.conf:5
nginx: configuration file /etc/nginx/nginx.conf test failed
给我你的怀抱给我你的怀抱2752 Tage vor611

Antworte allen(4)Ich werde antworten

  • 我想大声告诉你

    我想大声告诉你2017-05-16 17:18:59

        if ($host ~* url.com) {
            rewrite ^/(.*)$ http://url.com:9000/$1 permanent;
        }

    或直接选用:

    rewrite ^/(.*)$ http://url.com:9000/$1 permanent;

    如果是直接跳转,不需要添加location字段,直接:

    server {
        listen 80;
        server_name url.com;
        rewrite ^/(.*)$ http://url.com:9000/$1 permanent;
    }

    而你配置文件中的:proxy_pass是将请求转发到代理服务器的,详情请看这里:
    http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_pass

    Antwort
    0
  • 黄舟

    黄舟2017-05-16 17:18:59

    server {
        listen 80;
        server_name url.com;
        rewrite ^(.*) http://$server_name:9000$1 permanent;
    }
    server {
        listen 9000;
        server_name url.com;
        # other
    }

    Antwort
    0
  • 淡淡烟草味

    淡淡烟草味2017-05-16 17:18:59

    试试 rewrite ^ url redirect

    Antwort
    0
  • 大家讲道理

    大家讲道理2017-05-16 17:18:59

    这你不用代理,重写url就好 rewrite ^/(.*)$ http://url.com:9000/$1 permanent;

    Antwort
    0
  • StornierenAntwort