Laravel Valet Share URL Ссылки на соединение отклонены

Попытка поделиться локальным сайтом с помощью временного URL https://xxxxx.ngrok.io/ работающего с Laravel Valet. Когда я запускаю Valet версии 1.1.22:

valet --version
Laravel Valet version 1.1.22

надежно URL-адрес ngrok приводит к отказу в соединении. Когда это небезопасно, это также приводит к отказу в соединении (404 только с камердинером, работающим на вторичной машине, так как он там не будет найден). Либо это, либо проблема с DNS, о которой я расскажу позже.

Локально в моей сети Wi-Fi и на ПК работает просто отлично. Логи доступа показывают мне это:

127.0.0.1 - [03/Oct/2016:08:57:06 +0300] "POST /server.php?doing_wp_cron=1475474226.5450510978698730468750 HTTP/1.1" 200 0
127.0.0.1 - [03/Oct/2016:08:57:07 +0300] "POST /server.php HTTP/1.1" 200 47
127.0.0.1 - [03/Oct/2016:08:59:09 +0300] "POST /server.php?doing_wp_cron=1475474348.8563120365142822265625 HTTP/1.1" 200 0
127.0.0.1 - [03/Oct/2016:08:59:10 +0300] "POST /server.php HTTP/1.1" 200 47

Все еще не видите ошибку, связанную с отказанным соединением в этом журнале в ~/.valet/Log/access.log . Журналы ошибок показывают старые ошибки, не связанные с этой проблемой. Окно Ngrook в терминале показывает 301 Перемещение навсегда на двух нагрузках, которые я только что попробовал. Ngrok статус сайта http://localhost:4040/status показал мне:

GET / HTTP/1.1
Host: site.dev
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/601.7.8 (KHTML, like Gecko) Version/9.1.3 Safari/601.7.8
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding: gzip, deflate
Accept-Language: en-us
X-Forwarded-For: xx.xx.xx.xxx
X-Forwarded-Proto: https
X-Original-Host: xxxxxx.ngrok.io

а затем перенаправление:

HTTP/1.1 301 Moved Permanently
Content-Type: text/html; charset=UTF-8
Location: http://mysite.dev/
Server: Caddy
Status: 301 Moved Permanently
X-Powered-By: PHP/7.0.11
X-Ua-Compatible: IE=edge
Date: Mon, 03 Oct 2016 06:14:10 GMT
Content-Length: 0

Caddyfile здесь для завершения (генерируется Valet):

import /Users/jasper/.valet/Caddy/*

    :80 {
        fastcgi / 127.0.0.1:9000 php {
            index server.php
        }

        rewrite {
            to /server.php?{query}
        }

        log /Users/jasper/.valet/Log/access.log {
            rotate {
                size 10
                age 3
                keep 1
            }
        }

        errors {
            log /Users/jasper/.valet/Log/error.log {
                size 10
                age 3
                keep 1
             }
        }
    }

Ngrok тоже работает (добавлено после того, как домен tld был изменен на.localhost):

ps aux | grep ngrok
jasper           1260   0.0  0.2 556735952  28692 s001  S+   10:23AM   1:27.14 /Users/jasper/.composer/vendor/laravel/valet/bin/ngrok http -host-header=rewrite site.localhost:80
root             1254   0.0  0.1  2463108   8964 s001  S+   10:23AM   0:00.01 sudo -u jasper /Users/jasper/.composer/vendor/laravel/valet/bin/ngrok http -host-header=rewrite site.localhost:80
jasper           3557   0.0  0.0  2432804   2096 s000  S+    2:36PM   0:00.00 grep ngrok

Таким образом, он попадает на Caddy Server, и статус ngrok показывает это. Но затем он выполняет перенаправление, которое преобразуется в отказ в соединении или проблемы с разрешением DNS для браузеров. Так в чем здесь проблема?

1 ответ

Решение

В конце я понял, что WordPress создает дополнительный редирект, используя структуру постоянных ссылок. Поэтому, когда вы отключаете постоянные ссылки, вы можете делиться своим сайтом WordPress Laravel Valet с внешним миром, используя Ngrok. Не идеальное решение, но по крайней мере одно, которое работает и которое позволяет вам показывать вашу работу в процессе выполнения клиентам, работающим на вашей локальной машине.

Другие вопросы по тегам