我正在研究一个我在S3中部署的ember-cli应用程序.我真的希望能够使用这种"无服务器"方法,因为它配置非常简单,而且非常实惠.
我的网址有问题.如果我点击http://my-bucket.s3-website-us-east-1.amazonaws.com/就可以了.但是如果我尝试直接加载除应用程序根目录之外的页面,例如http://my-bucket.s3-website-us-east-1.amazonaws.com/elephants/5,那么它会给出403 ,因为S3中没有这样的资源.(我可以通过应用程序很好地导航到这些页面,我可以在我的机器上以开发模式直接命中它们,因此ember应用程序工作正常.)
寻找解决方案,我找到了添加到我的路径的建议#!.这似乎更好,因为它没有返回403,但当我点击http://my-bucket.s3-website-us-east-1.amazonaws.com/#!/elephants/5时,它只是重定向到http://my-bucket.s3-website-us-east-1.amazonaws.com,丢失路径中包含的任何特定信息.
我有什么选择?有没有办法使用S3并有工作的URL?我需要服务器吗?还是有另一种方法让我望而却步?
我有一个问题react和react-router.当我单击链接时(在我的示例contact中Footer.js),URL会更改,但Location不会显示所需的组件.当我刷新网站时,会显示正确的组件.
App.js:
import React, { Component } from 'react';
import { BrowserRouter as Router, HashRouter, Route, Link } from 'react-router-dom';
import 'bootstrap/dist/css/bootstrap.css';
import Footer from './Footer.js';
import Navigation from './Navigation.js';
import Background from './Background.js';
import Home from './Home.js';
import Products from './Products.js';
import Industries from './Industries.js';
import Partner from './Partner.js';
import Location from './Location.js';
import MeetUs from './MeetUs.js';
import ScrollUp from './ScrollUp.js';
import Divider from './Divider.js';
import Country from './Country.js'; …Run Code Online (Sandbox Code Playgroud) 我有一个单页应用程序,我正在(尝试)在 Google Cloud Storage 上托管它。
该应用程序位于index.html,并且该应用程序使用Angular的html5Mode处理路由。(例如:像 example.com/this 和 example.com/ 这样的路由由 index.html 中的 js 应用程序处理)
使用 Google Cloud Storage 的网站配置,这一切都很好,除了直接访问的路由(“example.com/this”)将出现 404,因为它们显然没有映射到文件。
我已将 404 页面设置为索引页,但为了在 html5Mode 中运行单页应用程序,我真正需要的是此类路由(“example.com/this”)不会返回 404 标头 - 它们只会由index.html处理并返回成功标头(200)。
这可能吗?
html pushstate google-cloud-storage angularjs single-page-application
任何人都可以帮助我,如何在节点js中使用node-ssh模块断开ssh连接.另外如何处理错误.
我的代码是
driver = require('node-ssh');
ssh = new driver({
host: '192.168.*.*',
username: 'user',
password: 'password',
privateKey : require('fs').readFileSync('/tmp/my_key')
});
ssh.connect().then(function() {
/*
some code
*/
},function(error) {
console.log(error);
});
Run Code Online (Sandbox Code Playgroud)
请帮忙.
因此,要部署angular2应用程序,我们只需将所有生产文件上传到存储桶,如此处所述.(部署静态网站).
但是我们如何重定向所有网址,index.html以便angular2路由器可以处理它们.我们可以Main Page从website configuration桶中设置.但我们无法指定所有网址都应重定向到index.html.
目前除了Main Page导致404页面未找到任何网址之外的任何网址.
关于亚马逊S3的SO有类似的问题,但是找不到谷歌云.
我在Safari上查看我的网站时遇到问题.我知道有很多信息要找,但我无法弄清楚究竟会有什么用.
我有一个角度ui-router的Angular应用程序,配置如下:
$locationProvider.html5Mode(true).hashPrefix('!');
在我的index.html中
<meta name="fragment" content="!">
<base href="/" />
Run Code Online (Sandbox Code Playgroud)
我的S3配置是这样的:
<RoutingRules>
<RoutingRule>
<Condition>
<HttpErrorCodeReturnedEquals>404</HttpErrorCodeReturnedEquals>
</Condition>
<Redirect>
<HostName>test.example.com</HostName>
<ReplaceKeyPrefixWith>#!/</ReplaceKeyPrefixWith>
</Redirect>
</RoutingRule>
</RoutingRules>
Run Code Online (Sandbox Code Playgroud)
现在,当我在Safari中使用F5页面时,一切#都会丢失.我真的没有机会在2016年解决这个问题吗?
safari amazon-s3 amazon-cloudfront angularjs angular-ui-router
我创建了一个带有 react-router 配置的 React 样板,它有 2 个页面(主页和关于)。
我在启用了静态网站托管的 Amazon S3 存储桶中托管了这个简单的应用程序。
我遇到的问题是,诸如 /about 之类的任何 URL 都会返回 404 错误以获取页面速度见解。示例:https : //developers.google.com/speed/pagespeed/insights/?url=http%3A%2F%2Fwww.workzey.com%2Fabout
在我的 S3 存储桶中,我将索引和错误文档都设置为 index.html - 应该如此,以便 react-router 可以做到这一点。
这对我来说是个问题,因为我需要搜索引擎来抓取我的网站。我已经运行了来自其他 react JS 站点的内部 URL 的页面速度洞察,但它们似乎没有得到 404。
这是托管在 S3 上的 React 应用程序的最简单版本,为什么当我在使用 react-router 配置的内部 URL 上运行页面速度洞察时会发生这种情况?非常感谢该决议!
有一阵子,我只是将网站内容存储在s3存储桶中,并且可以通过完整的url访问所有页面。我想通过添加SSL使我的网站更安全,所以我创建了一个CloudFront发行版以指向我的s3存储桶。
该站点将加载正常,但是如果用户尝试刷新页面或尝试使用完整URL(即www.example.com/home)访问页面,则他们将收到一个AccessDenied页面。