Nginx - 允许HTTP用于IP

时间:2016-11-16 14:09:31

标签: http nginx https ip

我的配置不允许对我的服务进行任何HTTP调用(强制https)。我需要只提供一个IP的HTTP访问权限,我不确定这样做的最佳方法是什么,或者是否可以使用NGINX。

这是我的配置:

    server {
        listen 80;
        listen 443;
        server_name myserver.com;

        client_max_body_size 64M;
        proxy_connect_timeout       600;
        proxy_send_timeout          600;
        proxy_read_timeout          600;
        send_timeout                600;

        ssl on;
        ssl_certificate /com.crt;
        ssl_certificate_key /com.key;

        access_log /var/log/nginx/log.log custom;

        if ($scheme = http) {
                return 400  "Sceme not allowed - please use https (SSL)";
        }

        location / {
                include proxy_params;
                proxy_pass http://unix:/tmp/my.sock:/;
                add_header Cache-Control private;
        }

        location /static/ {
                root /var/www/myapp/root;
        }
}

1 个答案:

答案 0 :(得分:1)

您为端口80启用了SSL。您应该使用ssl指令中的listen参数并删除ssl on;语句:

listen 80;
listen 443 ssl;

这允许非SSL端口80和SSL端口443。

有关详细信息,请参阅this document