首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在亚马逊网络服务中使用Nginx的Http to Https也会重定向Ipv4

在亚马逊网络服务中使用Nginx的Http to Https也会重定向Ipv4
EN

Stack Overflow用户
提问于 2018-01-25 18:26:43
回答 1查看 62关注 0票数 0

我需要将http重定向到https,我正在使用Nginx来做这件事

我使用负载均衡器,使用ACM推荐的certificate.In路由53 Ipv4

正在尝试将http从/etc/nginx/sites available/default中的以下代码重定向到https

代码语言:javascript
复制
server {

listen 80;

  server_name mysite.com www.mysite.com;

    location / {
    if ($http_x_forwarded_proto != 'https') {
       rewrite ^ https://$host$request_uri? permanent;
   }
         proxy_pass http://172.x1.x5.xx6:8080;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
        proxy_redirect off;
     }
}

我面临的问题是公网ipv4(公网IP)也被重定向到https,无法访问我的域名

如何不重定向ipv4(公网IP)

EN

回答 1

Stack Overflow用户

发布于 2018-01-26 21:43:11

根据documentation

如果您只使用server_name指令

如果它的值不匹配任何服务器名称,或者请求根本不包含这个头字段,那么nginx会将请求路由到该端口的默认服务器。在上面的配置中,默认服务器是第一个-这是nginx的标准默认行为。还可以使用listen指令中的default_server参数显式设置哪个服务器应该是默认的……

所以如果你有这样的东西:

代码语言:javascript
复制
server {
    listen      80 default_server;
    return 403;
}
server {
    listen      443 default_server;
    return 403;
}

然后,当一个请求传入并且与您的server_name不匹配时,它将默认使用上面的server块,并返回一个403禁止结果。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48440619

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档