首页 > 解决方案 > nginx https ip地址到域重定向

问题描述

我的网站非常混乱:它在谷歌搜索结果中显示为https://31.220.108.250/(https ,而不是 http)。我想将此重定向到我的域(mosachi.ga),但是当我无法弄清楚如何将 https 重定向到我的域时(我只能弄清楚如何重定向 http)。这是我当前的 nginx 配置文件:

# Catchall configuration - redir to the domain for bare and invalid domain requests
server {
    listen 80 default_server;

    server_name _;

    return 301 https://mosachi.ga$request_uri;
}

# HTTP handler to redirect to HTTPS for mosachi.ga
server {
  listen 80;
  server_name  mosachi.ga;
  return 301 https://mosachi.ga$request_uri;
}

# HTTPS for mosachi.ga
server {
  listen       443 ssl;
  server_name  mosachi.ga;

  ssl_certificate  /etc/letsencrypt/live/mosachi.ga/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/live/mosachi.ga/privkey.pem;

  location / {
    proxy_pass http://localhost:3000;
    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;
  }
}

标签: nginxurlredirect

解决方案


你能改变你的nginx文件格式如下!并检查它是否工作?

server {

    listen 443 ssl http2;
    listen [::]:443 ssl http2;

    root your_root_folder_path;
    ssl on;
    ssl_certificate /etc/letsencrypt/live/mosachi.ga/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/mosachi.ga/privkey.pem;
    server_name mosachi.ga www.mosachi.ga;

    location / {

            proxy_pass http://localhost:3000;
            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;
    }
}
server {
listen 80;
server_name mosachi.ga;
return 301 https://mosachi.ga$request_uri;
}

推荐阅读