小编smk*_*ber的帖子

为什么我不能将 Heroku 上的 React 应用程序从 http 重定向到 https?

我在 Heroku 上有一个使用create-react-app. 就在今天,我使用 Heroku 的自动(-ish)SSL 证书流程 ExpeditedSSL 获得了 SSL 证书,然后文档建议将所有 http 请求重新路由到 https。

我有一个 server.js 文件并表示我只是为了尝试运行中间件,然后为我的 React 应用程序提供服务。

我知道 SSL 证书正在工作,就像我去https://myapp.com我看到我的 Heroku 应用程序一样,但是当我去http://myapp.com 时它没有重定向到我的 Heroku 应用程序的 https 版本。

solutions今天从 StackOverflow、Google 和其他地方尝试了很多很多,但没有一个解决方案对我有用。我也没有任何错误。它只是不起作用。

尝试使用https library

const https = require("https");
const express = require('express');
const app = express();

app.use(express.static(path.join(__dirname, 'build')));

app.get('/', function (req, res) {
  res.sendFile(path.join(__dirname, 'build', 'index.html'));
});

https.createServer(app).listen(3000);
Run Code Online (Sandbox Code Playgroud)

另一种尝试使用heroku-ssl-redirect

var sslRedirect = require('heroku-ssl-redirect');
var express = require('express');
var …
Run Code Online (Sandbox Code Playgroud)

ssl heroku express reactjs

11
推荐指数
2
解决办法
3701
查看次数

Phoenix/Elixir - 时间戳不存在,扩展到时间戳()

我正在使用"编程凤凰"这本书学习凤凰.第一个项目创建了一个postgres数据库,这是我们的迁移.我无法摆脱模式中时间戳的警告.

defmodule Rumbl.Repo.Migrations.CreateUser do
  use Ecto.Migration

  def change do
    create table(:users) do
      add :name, :string
      add :username, :string, null: false
      add :password_hash, :string

      timestamps
    end

    create unique_index(:users, [:username])
  end
end
Run Code Online (Sandbox Code Playgroud)

那么我们对应这个迁移的模型是:

defmodule Rumbl.User do
  use Rumbl.Web, :model

  schema "users" do
    field :name, :string
    field :username, :string
    field :password, :string, virtual: true
    field :password_hash, :string

    timestamps
  end
end
Run Code Online (Sandbox Code Playgroud)

现在我运行迁移,然后是mix phoenix.server.

我收到这个警告:

warning: variable "timestamps" does not exist and is being expanded to "timestamps()", 
please use parentheses to remove the …
Run Code Online (Sandbox Code Playgroud)

postgresql elixir ecto phoenix-framework

4
推荐指数
1
解决办法
606
查看次数

Elixir/Phoenix New Project Comeonin.Bcrypt不可用

首先,我在Windows 10中开发.我vcvarsall.bat amd64在每次编译之前运行.我在用:

  • Elixir 1.4.2

  • 凤凰城v1.2.1

我开始了一个全新的项目,制作了一个用户表,一切都运行良好.我添加了comeonin哈希pw,我不能再创建用户.我得到一个错误页面说:
function Comeonin.Bcrypt.hashpwsalt/1 is undefined (module Comeonin.Bcrypt is not available)

以下是相关文件的代码:

Mix.exs

# mix.exs

 ...

  def application do
    [mod: {PollarAppV2, []},
     applications: [:phoenix, :phoenix_pubsub, :phoenix_html, :cowboy, :logger, :gettext,
     :phoenix_ecto, :postgrex, :comeonin, :timex]]
  end

 ...

  defp deps do
    [{:phoenix, "~> 1.2.1"},
     {:phoenix_pubsub, "~> 1.0"},
     {:phoenix_ecto, "~> 3.0"},
     {:postgrex, ">= 0.0.0"},
     {:phoenix_html, "~> 2.6"},
     {:phoenix_live_reload, "~> 1.0", only: :dev},
     {:gettext, "~> 0.11"},
     {:cowboy, "~> 1.0"},
     {:comeonin, "~> 3.0"},
     {:timex, "~> 3.0"}]
  end

 ...
Run Code Online (Sandbox Code Playgroud)

User.ex …

elixir bcrypt phoenix-framework

1
推荐指数
1
解决办法
1206
查看次数

在Elixir中,您如何按值对关键字列表进行排序?

我正在尝试在Elixir中开发一个简单的POC,它需要在地图中存储信息.问题是我无法弄清楚如何将地图显示为按值排序的列表.

defmodule MapUpdater do
    def update_score(map, player, :double), do: Map.update(map, player, 2, &(&1 * 2))
    def update_score(map, player, :halve), do: Map.update(map, player, .5, &(&1 * 0.5))
    def update_score(map, player, :penalize), do: Map.update(map, player, -1, &(&1 - 1))
    def view_scores(map, :top), do: Map.to_list(map) |> Enum.sort_by(???)
    def view_scores(map, :bottom), do: Map.to_list(map) |> Enum.sort_by(???)
end
Run Code Online (Sandbox Code Playgroud)

我试过了:

Enum.sort_by(&(elem(&1, 1)) > &(elem(&2, 1)))
Run Code Online (Sandbox Code Playgroud)

以及这方面的任何变化,但一遍又一遍地阅读文档对我没有帮助.有什么建议?

sorting list elixir

0
推荐指数
1
解决办法
3242
查看次数

标签 统计

elixir ×3

phoenix-framework ×2

bcrypt ×1

ecto ×1

express ×1

heroku ×1

list ×1

postgresql ×1

reactjs ×1

sorting ×1

ssl ×1