【问题标题】:API call not working if including www in the URL如果 URL 中包含 www,则 API 调用不起作用
【发布时间】:2018-11-02 03:11:55
【问题描述】:

我刚刚将我的 Web 应用程序从使用 Apache 的服务器迁移到使用 Nginx 的新服务器。一切都很好,除了我的 API 路由。

我正在使用 POSTMAN 进行测试,如果我使用 https://www.example.com/api/example,我只会得到一个带有空“消息”变量的响应。 但是如果我使用https://example.com/api/example,它就可以正常工作。

我有一个指向包含 WWW 的 URL 的移动应用程序,我不想为了进行此更改而进行更新。怎样才能让包括 WWW 在内的路由恢复正常?

【问题讨论】:

    标签: rest no-www


    【解决方案1】:

    您需要更改 nginx 配置文件中的主机名以包含 www。

    示例:

    server {
        listen       80;
        server_name  example.org  www.example.org;
        ...
    }
    

    【讨论】:

    • 我收到以下警告:nginx:[warn] 在 0.0.0.0:443 上冲突的服务器名称“www.example.com”,忽略 nginx:[warn] 冲突的服务器名称“www.example. com" on [::]:443,忽略 nginx:配置文件 /etc/nginx/nginx.conf 语法没问题 nginx:配置文件 /etc/nginx/nginx.conf 测试成功
    • 我也尝试使用端口 80 和 www 添加不同的块,但没有成功。
    • 请发布您的 nginx 配置
    • 我正在使用 Laravel Forge,所以我最终在 Meta > Domain 部分更新了我的域以包含 www。
    • 哦,但我认为这个问题只是在你从 apache 更改为 nginx 后才会出现。
    猜你喜欢
    • 2016-01-21
    • 2021-05-02
    • 2018-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-31
    • 2014-09-22
    相关资源
    最近更新 更多