使用SSL保护Nginx

时间:2017-12-30 08:55:59

标签: ssl nginx

我正在使用SSL保护Nginx服务器,我有一个问题。我有两个虚拟服务器,一个用于在端口80中进行http侦听,而https在443中进行侦听,如下所示:

 # HTTP server
server {
        listen       80;
        server_name  localhost; 
        ...
        # many configuration rules here for caching, etc
}
# HTTPS server
    server {
        listen       443 ssl;
        server_name  localhost;
        ...
}

问题是,我是否需要将http版本中的所有配置规则复制到我的https版本中?有没有办法避免重复所有这些规则?

更新 我试图根据@ibueker的答案配置包含。看起来很简单但不知何故不起作用。包含是否需要位于某个位置?附例:

 # HTTP server
    server {
            listen       80;
            server_name  localhost; 
            ...
            include ./wpo
    }

其中wpo文件位于同一路径中,如:

# Expire rules for static content
# RCM: WPO
# Images                                                   
location ~* \.(?:jpg|jpeg|gif|png|ico|cur|gz|svg|svgz|mp4|ogg|ogv|webm|htc)$ {
        root    /home/ubuntu/env/production/www/yanpy/app;
        expires 1w;
        add_header Cache-Control "public";
}

# CSS and Javascript
location ~* \.(?:css|js)$ {
        root  /home/ubuntu/env/production/www/yanpy/app;
        expires 1w;
        add_header Cache-Control "public";
}

# cache.appcache, your document html and data
location ~* \.(?:manifest|appcache|html?|xml|json)$ {
        root   /home/ubuntu/env/production/www/yanpy/app;
        expires -1;
}

1 个答案:

答案 0 :(得分:1)

您可以将它们放在另一个文件中,并将它们包含在两个服务器块中。

include /path/to/file;