【问题标题】:Uploading an API to a port on a DigitalOcean droplet port将 API 上传到 DigitalOcean 液滴端口上的端口
【发布时间】:2016-10-09 07:55:42
【问题描述】:

我不确定我是否使用了正确的行话,但我希望我的问题很清楚。我正在尝试将使用 Laravel 制作的 API 上传到我的 DigitalOcean 液滴上的端口。

基本上,当我连接到 ***.***.***.***:port 时,我希望它连接到我的 API。

我为我的 api 创建了一个.conf 文件,如下所示:

Listen ***.***.***.***:8037
<VirtualHost ***.***.***.***:8037>
ServerName www.name.lk
DocumentRoot "/var/www/html/hotelguide/public"
<Directory /var/www/html/hotelguide/public>
    AllowOverride All
    Order allow,deny
    Require all granted
    Allow from all
</Directory>
</VirtualHost>

这个文件放在/etc/apache2/sites-available

我使用 8037 作为随机端口。

我阅读了以下内容:https://httpd.apache.org/docs/2.4/bind.html,因为这似乎包含我想要的内容,但是当我编辑 etc/apache2/ports.conf 并添加 Listen 8037 并重新启动服务时。

然后我访问 ***.***.***.***:8037 并收到 Forbidden 403 错误。

更新: 我跟进了@katie 的回答。而且我似乎仍然收到 Forbidden 403 错误。这些是nmapnetstat 的结果

【问题讨论】:

    标签: php apache laravel-5.2 digital-ocean


    【解决方案1】:

    这是一个有效的虚拟主机指令:

    <VirtualHost *:8037>
    
            #ServerName www.example.com
            DocumentRoot "/var/www/html/hotelguide/public"
    ...
    </VirtualHost>
    

    我取出了ServerName 指令(它用# 注释掉了),因为它不是必需的,而且似乎实际上破坏了它。如果它是您希望在该端口上运行的唯一应用程序,那么您不必使用ServerName 匹配进一步深入研究。我过去曾将ServerName 与 xxx.xxx.xxx.xxx/path/to/website 一起使用,但这似乎只适用于端口 80。

    最后,确保您已在防火墙上打开端口 8037。

    最后一点,您拥有 Listen 8037,就好像您在站点可用的 conf 中一样,但您不需要它(只是在您稍后提到的 ports.conf 中)。

    然后要访问您的应用,请输入 xxx.xxx.xxx.xxx:8037,它应该会转到您的 DocumentRoot

    更新

    有了你的设置(我改成8037端口),apache显然可以工作了,(当我调出xxx.xxx.xxx.xxx:8037时,我设置的网站就会出现在我的浏览器中),

    您可以在您的 Digital Ocean 服务器上执行netstat -ant,您应该会看到:

    tcp6       0      0 :::8037                 :::*                    LISTEN     
    tcp6       0      0 :::80                   :::*                    LISTEN  
    

    另外,我在更改 /var/www 文件的权限时导致了禁止错误。目录的最佳权限为 750,文件为 640,您可以在 .sh 文件中执行以下行来完成该权限设置:

    sudo find /var/www -exec chown root:www-data {} \;
    sudo find /var/www -type d -exec chmod -v 750 {} \;
    sudo find /var/www -type f -exec chmod -v 640 {} \;
    

    【讨论】:

    • 非常感谢您的回复。我完全按照你的建议做了,但我似乎仍然收到 Forbidden 403 错误:(你能看看我发布到我的问题的上述更新吗?再次感谢
    • @user9492428 查看我帖子的更新,希望对您有所帮助!
    • @user9492428 很高兴听到这个消息!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-14
    • 1970-01-01
    • 2019-03-24
    • 1970-01-01
    • 2021-01-10
    • 1970-01-01
    相关资源
    最近更新 更多