如何为类似于laravel valet的Node应用程序设置自定义本地域名?

时间:2018-10-06 00:36:49

标签: node.js laravel valet

我将Laravel valet用作本地服务器,并使用它来获取我的项目文件夹名称,并将其用作本地域名。因此,如果我创建一个名为test-website的文件夹,则现在可以通过转到test-website.test在浏览器中访问该文件夹。

启动节点应用程序时,我可以在浏览器中访问该应用程序的唯一方法是转到localhost :: 3000。很好并且可以,但是我宁愿使用自定义域名,例如new-node-app.test。有没有办法做到这一点,甚至更好,是否有任何程序可以像Laravel Valet一样自动化呢?

3 个答案:

答案 0 :(得分:0)

好的,我实际上是自己解决的..哈哈

因此,在主机文件中我添加了:

127.0.0.1:80 nodeapp.localhost

转到该地址有效,并且似乎与我的Laravel Valet网域没有冲突。

请注意,我确实尝试使用扩展名.test,这是我在Laravel Valet网站上使用的扩展名,但是由于明显的原因而无法正常工作。

答案 1 :(得分:0)

假设您希望您的域名为 node.test。您必须在 node.conf 中创建一个名为 ~/.valet/Nginx 的文件。

节点配置:

map $sent_http_content_type $expires {
    "text/html"                 epoch;
    "text/html; charset=utf-8"  epoch;
    default                     off;
}

server {
    listen          80;             # the port nginx is listening on
    server_name     node.test;    # setup your domain here

    gzip            on;
    gzip_types      text/plain application/xml text/css application/javascript;
    gzip_min_length 1000;

    location / {
        expires $expires;

        proxy_redirect                      off;
        proxy_set_header Host               $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;
        proxy_read_timeout          1m;
        proxy_connect_timeout       1m;
        proxy_pass                          http://127.0.0.1:3000; # set the adress of the Node.js instance here
    }
}

来源:Valet Github: is it possible to share node.js program running on port 3000

答案 2 :(得分:0)

这对我来说是正确的解决方案,在我看来也是防止 CORS 问题的最佳解决方案。注意:nginx 文件夹现在位于 ~/.config/valet/Nginx。