nginx 反向代理 swoole的設置
習慣沉默
習慣沉默 2017-05-16 17:08:26
0
3
1074

nginx 反向代理 swoole 的設定問題

首先版本
php 7.1.0
swoole 2.0.5
nginx 1.10.2

依照官網說明http://wiki.swoole.com/wiki/p...,設定nginx反向代理到 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. 存取的網域/index.php 或網域/admin/ 等都沒有問題,可以出現swoole程式碼執行的結果(後台能看到swoole兩次存取記錄)

  2. 但直接存取 網域 就出現403,(後台看到swoole列印一次存取記錄)

  3. #在nginx配置裡面加入了try_files $uri $uri/ /index.php?$query_string; 也沒有效果

請指著!

其中swoole程式碼如下(只是列印存取記錄):

$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();
習慣沉默
習慣沉默

全部回覆(3)
过去多啦不再A梦

if(!-e $request_filename)
滿足這個條件才轉發至http://127.0.0.1:9501
顯然條件不滿足
檔案和目錄判斷
-f和!-f判斷是否存在檔案
-d和!-d判斷是否有目錄
-e和!-e判斷是否存在檔案或目錄
-x和!-x判斷檔案是否可執行

你只訪問域名,“/”是存在的 所以不會轉發

如樓上所說你需要指定一個預設請求檔

phpcn_u1582

根據你的要求,server 裡應有一行

index index.php;

漂亮男人

你吧你的後端當google反代就可以了。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!