Maison  >  Questions et réponses  >  le corps du texte

Paramètres du proxy inverse nginx

Problème de configuration du proxy inverse nginx

Première version
php 7.1.0
swoole 2.0.5
nginx 1.10.2

Suivez les instructions du site officiel http://wiki.swoole.com/wiki/p... pour configurer le proxy inverse nginx pour swoole,

server {
    root /alidata/www/vweb/;
    server_name 域名;

    location / {
        #添加了这个也不行
        #try_files $uri $uri/ /index.php?$query_string; 

        #下面这几行是swoole官网设定
        if (!-e $request_filename) {
            proxy_pass http://127.0.0.1:9501;
        }
        proxy_http_version 1.1;
        proxy_set_header Connection "keep-alive";
        proxy_set_header X-Real-IP $remote_addr;    
    }
}
  1. Il n'y a aucun problème pour accéder à nom de domaine/index.php ou nom de domaine/admin/, etc., et le résultat de l'exécution du code swoole peut apparaître (deux enregistrements d'accès swoole sont visibles en arrière-plan)

  2. Mais lors de l'accès direct au nom de domaine, 403 apparaît (vous pouvez voir swoole imprimer un enregistrement d'accès en arrière-plan)

  3. Ajout de try_files $uri $uri/ /index.php?$query_string; dans la configuration nginx mais cela n'a aucun effet

S'il vous plaît, donnez-moi quelques conseils !

Le code swoole est le suivant (il suffit d'imprimer les enregistrements d'accès) :

$http = new swoole_http_server("127.0.0.1", 9501);
$http->on('request', function ($request, $response) {
    echo '-------------------Request---#'.rand(1000, 9999).'------------------'."\n";
    $response->end("<h1>Hello Swoole. #".rand(1000, 9999)."</h1>");
});
$http->start();
習慣沉默習慣沉默2713 Il y a quelques jours1103

répondre à tous(3)je répondrai

  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-16 17:10:26

    if(!-e $request_filename)
    Transférer à http://127.0.0.1:9501 uniquement si cette condition est remplie
    Évidemment, la condition n'est pas remplie
    Jugement de fichier et de répertoire
    -f et!-f jugent si le fichier existe
    -d et !-d déterminent si le répertoire existe
    -e et !-e déterminent si le fichier ou le répertoire existe
    -x et !-x déterminent si le fichier est exécutable

    Vous accédez uniquement au nom de domaine, "/" existe, il ne sera donc pas transmis

    Comme mentionné ci-dessus, vous devez spécifier un fichier de requête par défaut

    répondre
    0
  • phpcn_u1582

    phpcn_u15822017-05-16 17:10:26

    Selon vos besoins, il devrait y avoir une ligne sur le serveur

    index index.php;

    répondre
    0
  • 漂亮男人

    漂亮男人2017-05-16 17:10:26

    Vous pouvez simplement utiliser Google comme backend.

    répondre
    0
  • Annulerrépondre