首頁  >  問答  >  主體

Https存取nginx,如何重定向一個http位址

前段存取一個https協定的位址,但後端只提供了http協定的,如何使用nginx來進行反向代理?

高洛峰高洛峰2673 天前1083

全部回覆(6)我來回復

  • 淡淡烟草味

    淡淡烟草味2017-06-24 09:46:27

    反向代理不就行了

    server{
        listen 443;
        location / { 
           proxy_pass http://my_node_app; 
        }
     }   

    回覆
    0
  • 迷茫

    迷茫2017-06-24 09:46:27

    server {
        listen      80;
        server_name    my.domain.com;
        [....]
    }
    
    server {
        listen      443 ssl;
        server_name    my.domain.com;
        return      301 http://$server_name$request_uri;
    }

    簡化的Nginx配置文件,樓主可以參考一下

    回覆
    0
  • 大家讲道理

    大家讲道理2017-06-24 09:46:27

    為什麼不直接提供 https 協定

    回覆
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-06-24 09:46:27

    你可以監聽443個端口,然後再這個監聽裡面重定向= =哈哈我猜的,我沒這麼玩過。 。 。

    回覆
    0
  • 三叔

    三叔2017-06-24 09:46:27

    利用通配符來匹配對應的路由,然後跳轉

    server {
      # 省略部分...
      listen       443;
      server_name  domain.com;
    
      # 如果后端接口格式类似这样的话 /api/users  /api/login
      location ^~ /api/ {
        proxy_pass http://domain.com:12345;
      }
    }

    回覆
    0
  • 为情所困

    为情所困2017-06-24 09:46:27

    後端必須提供https存取才能重新導向。
    所以你需要申請合法的證書,配置nginx提供https協議。
    不過,這樣就沒必要做跳轉了,直接增加https協議即可。

    回覆
    0
  • 取消回覆