Nginx-如何使用在位置块中具有代理的https服务静态内容?

时间:2018-07-24 07:07:00

标签: nginx nginx-location nginx-reverse-proxy

我的服务器监听443端口,并将请求重定向到服务器中的另一个端口。我的服务器还监听80端口,并在用户浏览http://www.xxxx.com

时向用户显示静态内容

但是我也想在用户浏览https://www.xxxx.com

时显示静态内容

我该如何处理?我的Nginx配置文件是;

server {

   listen 443 ssl; 
   server_name xxxx.com;
   ssl_certificate /etc/nginx/ssl/nginx.crt;
   ssl_certificate_key /etc/nginx/ssl/nginx.key;

   location / {
expires off;
      proxy_pass http://backend;
   }
}

server {
  listen 80;
  listen [::]:80;

   server_name xxxx.com;
   root /var/www/xxxx.com/html;
   index index.html;

   location / {
try_files $uri $uri/=404;
   }
}

当用户使用https://www.xxxx.com浏览我的网站时,我想显示我的index.html文件,并且我的代理将继续在后端工作

1 个答案:

答案 0 :(得分:1)

您可以将命名位置作为try_files语句的默认操作。

例如:

location / {
    try_files $uri $uri/ @proxy;
}
location @proxy {
    proxy_pass http://backend;
}

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