我遇到了麻烦。
我的网站在heroku上运行,其中包含来自其他提供商的自定义域名。我用正确的DNS建立了2之间的连接。
它似乎可以在我的浏览器上运行但它在其他计算机上无法运行,并且在清除缓存后它也无法在地雷上运行。当他们访问该网站时,它会显示域名提供商网站。
起初我认为它与ssl有关,因为我得到错误说你的连接不是私密的。然后我将 config_force_ssl 更改为false:
# Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies.
config.force_ssl = false
似乎我的域名提供商DNS设置中的A记录链接到IP地址,而Heroku不支持IP地址。或者它仍然可能是ssl相关的东西。
以下是我的域名提供商DNS :
ftp.example.io - CNAME - example.io
www.example.io - CNAME - example-example.herokuapp.com
example.io - A - 91.184.0.100
localhost.example.io - A - 91.184.0.100
webmail.example.io - A - 91.184.0.100
*.example.io - A - 91.184.0.100
mail.example.io - A - 91.184.0.94
以下是我在heroku上添加的域名:
Domain name: example.io
DNS Target: example-example.herokuapp.com
我不知道它可能是什么。任何帮助将不胜感激
答案 0 :(得分:0)
您应该在DNS提供商上创建CNAME记录:https://devcenter.heroku.com/articles/custom-domains
答案 1 :(得分:0)
Heroku不支持DNS。但您可以添加自定义域和子域,并从您的域托管设置重定向到Heroku应用程序。这是Youtube
的小镜头#for domain
$ heroku domains:add www.example.com`
Adding www.example.com to example... done
>
#for subdomain
$ heroku domains:add blog.example.com`
Adding blog.example.com to example... done
答案 2 :(得分:0)
将heroku域名配置为ALTER TRIGGER [dbo].[IC_ProductUpdate] ON [dbo].[StockItem]
AFTER UPDATE
AS
BEGIN
-- update the queue for those entries that already exist
-- those rows that *DO NOT* exist yet are not being touched
UPDATE puq
SET Synced = 0
FROM dbo.IC_ProductUpdateQueue puq
INNER JOIN Inserted i ON puq.StockItemID = i.StockItemID
INNER JOIN Deleted d ON d.StockItemID = i.StockItemID
WHERE
i.Name <> d.Name OR i.Description <> d.Description
-- for those rows that don't exist yet - insert the values
INSERT INTO dbo.IC_ProductUpdateQueue (StockItemID, Synced)
SELECT
i.StockItemID, 0
FROM
Inserted i
INNER JOIN
Deleted d ON d.StockItemID = i.StockItemID
WHERE
i.Name <> d.Name OR i.Description <> d.Description
AND NOT EXISTS (SELECT * FROM dbo.IC_ProductUpdateQueue puq
WHERE puq.StockItemID = i.StockItemID)
END
。
答案 3 :(得分:0)
好的,我修复了这个问题。对于那些正在努力奋斗的人来说,我就是这样做的:
第1步
制作Cloudflare帐户,并将购买的域名添加到cloudflare和 转移DNS设置'
第2步
将您的域名添加到您的heroku面板。在heroku网站上,登录,转到 到'设置'按'添加自定义域'
- Add both your domain 'www.example.com' and your root domain 'example.com'
第3步
如果您尚未更改初始域中的域名服务器 提供商指向cloudflare名称服务器,请立即执行此操作。您 可以找到分配给你的cloudflare名称服务器
'DNS' -> 'cloudflare name servers'
下的cloudflare面板
第4步
转到cloudflare帐户的“DNS”并
remove all records (A, CNAME, ALIAS,TXT etc..).
现在添加CNAME
条记录。该名称应该是您的网站“www.example.com
”(带有www),它应该指向您的heroku应用example-example.herokuapp.com
第5步
创建Google Business帐户。并跟随 Google提供的验证步骤。
第6步
登录
admin.google.com
并转到“domains
”。如果你看不到 'domains'点击'更多元素'。现在点击“change redirect
”和 将您的根域“example.com
”重定向到“www.example.com
”。
第7步
转到您的cloudflare面板,然后转到“DNS”,现在是
add 4 'A' Records
。 - 所有4个“A”记录都应具有根域'example.com'
的名称,并且应指向216.239.32.21
,216.239.34.21
,216.239.36.21
,216.239.38.21
,这是ip Google提供的地址可让重定向工作。
旁注
在cloudflare上,'A'记录状态需要设置为'仅限DNS' 以及'CNAME'记录状态为'DNS和HTTP代理(CDN)'
第8步
在您的rails应用上转到
production.rb
并确认config.action_mailer.default_url_options = { host: 'https://example-example.herokuapp.com' }
设置为config.action_mailer.default_url_options = { host: 'example-example.herokuapp.com' }
所以只需删除“https://”。
config.force_ssl
也应该是false
完成后请确保将结果上传到heroku。
第9步
在cloudflare转到'crypto'并确保SSL设置为'Flexible', 如果不是,请立即更改,可能需要一些时间才能完成cloudflare的更改。
祝贺!!!!!!!!!!!!!
此时,您的网站应该正常运行并为两者工作 您的根域以及您的完整域名。
<强> EXTRA 强>
只有您想通过GMAIL发送商业电子邮件(例如info@example.com)
在cloudflare上转到“DNS”并添加
5 'MX' Records
。
- 指向
example.com
(您的根域) - 使用aspmx.l.google.com
priority 1
- 指向
example.com
(您的根域) - 使用alt1.aspmx.l.google.com
priority 5
- 指向
example.com
(您的根域) - 使用alt2.aspmx.l.google.com
priority 5
- 指向
example.com
(您的根域) - 使用alt3.aspmx.l.google.com
priority 10
- 指向
example.com
(您的根域) - 使用alt4.aspmx.l.google.com
priority 10
醇>注意:
TTL
应设置为1 hour
的{{1}}。
现在去那里成为自己最好的版本!!