小编sul*_*van的帖子

Cloudfront TTL无法正常工作

我遇到了问题,并试图在论坛中回答这些问题,但没有任何成功.

为了生成缩略图,我设置了以下模式:使用NGINX和Thumbor Cloudfront的原始映像的DNS帐户Ubuntu服务器

用户将原始图像上传到S3,将在请求前通过Cloudfront通过Ubuntu Server提取:

http://cloudfront.account/thumbor-server/http://s3.aws ...

最重要的是,我们经常在Cloudfront中丢失对象,我希望它们在缓存中保留360天.我通过Cloudfront URL获得以下回复:

Cache-Control:max-age=31536000
Connection:keep-alive
Content-Length:4362
Content-Type:image/jpeg
Date:Sun, 26 Oct 2014 09:18:31 GMT
ETag:"cc095261a9340535996fad26a9a882e9fdfc6b47"
Expires:Mon, 26 Oct 2015 09:18:31 GMT
Server:nginx/1.4.6 (Ubuntu)
Via:1.1 5e0a3a528dab62c5edfcdd8b8e4af060.cloudfront.net (CloudFront)
X-Amz-Cf-Id:B43x2w80SzQqvH-pDmLAmCZl2CY1AjBtHLjN4kG0_XmEIPk4AdiIOw==
X-Cache:Miss from cloudfront
Run Code Online (Sandbox Code Playgroud)

刷新后,我得到:

Age:50
Cache-Control:max-age=31536000
Connection:keep-alive
Date:Sun, 26 Oct 2014 09:19:21 GMT
ETag:"cc095261a9340535996fad26a9a882e9fdfc6b47"
Expires:Mon, 26 Oct 2015 09:18:31 GMT
Server:nginx/1.4.6 (Ubuntu)
Via:1.1 5e0a3a528dab62c5edfcdd8b8e4af060.cloudfront.net (CloudFront)
X-Amz-Cf-Id:slWyJ95Cw2F5LQr7hQFhgonG6oEsu4jdIo1KBkTjM5fitj-4kCtL3w==
X-Cache:Hit from cloudfront
Run Code Online (Sandbox Code Playgroud)

我的Nginx响应如下:

Cache-Control:max-age=31536000
Content-Length:4362
Content-Type:image/jpeg
Date:Sun, 26 Oct 2014 09:18:11 GMT
Etag:"cc095261a9340535996fad26a9a882e9fdfc6b47"
Expires:Mon, 26 Oct 2015 09:18:11 GMT
Server:nginx/1.4.6 (Ubuntu) …
Run Code Online (Sandbox Code Playgroud)

amazon-s3 ttl amazon-web-services amazon-cloudfront

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

Nginx:保留帖子

我的设置如下:

example.com/de现在是example.de,example.com/en现在是example.com.我正在使用nginx最新版本.

我需要保留通过iOS应用程序发送到http://www.example.com/de/api/uploadPicture的帖子,现在是http://www.example.com/api/uploadPicture.

我发现我需要使用位置而不是重写规则.

这就是我在.com块中的内容:

location /de/shop {
    rewrite ^/de/shop/(.*) http://www.example.de/$1 redirect;
}    

location /de {
    rewrite ^/de/(.*) http://www.example.de/$1 redirect;
}    

location /en/shop {
    rewrite ^/en/shop/(.*) http://www.example.com/$1 redirect;
}    

location /en {
    rewrite ^/en/(.*) http://www.example.com/$1 redirect;
}
Run Code Online (Sandbox Code Playgroud)

这是上面提到的部分:

location /de/api/uploadPicture {

    # Not sure how to use this one
    #proxy_pass http://myproject$uri$is_args$args;
    #proxy_redirect  http://localhost:8080//;    

    # This works, but looses the post data
    rewrite ^/de/api/(.*) http://www.example.com/api/$1 redirect;
}
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助.

编辑:我已经调整了给定的解决方案.这有效,但不能与重写规则结合使用:

server {
    client_max_body_size 20M;
    listen 80;
    listen 443 …
Run Code Online (Sandbox Code Playgroud)

nginx

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

ReactNative/Switch组件:onValueChange

如果有人修改了交换机组件,我会尝试设置更改事件.方法是设计一个包含多个开关的视图,并允许用户设置每个通知的状态,这些状态最终将在POST api-call中结束.此外,我想从api-call加载初始值.

如何在我的onChangeFunction中访问状态(天气检查/取消选中)?如何使用他们的ID或名称获取元素?(与#mySwitch.setValue(true)中的HTML/CSS相同?

给定代码:

class Settings extends Component {    
    onChangeFunction(type, props) {
        Alert.alert("changed", "==> " + props.state)
    }    

    render() {
        return (
            <View style={styles.container}>
                <Switch onValueChange={this.onChangeFunction.bind(this, "TASK_CREATED", this.props)} value={this.state} />
            </View>
        );
    }
}
Run Code Online (Sandbox Code Playgroud)

react-native

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