V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
NGINX
NGINX Trac
3rd Party Modules
Security Advisories
CHANGES
OpenResty
ngx_lua
Tengine
在线学习资源
NGINX 开发从入门到精通
NGINX Modules
ngx_echo
larkifly
V2EX  ›  NGINX

nginx http https 共存的配置

  •  
  •   larkifly · 2015-02-04 13:15:12 +08:00 · 7292 次点击
    这是一个创建于 3575 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我想配置一个服务器,a连接用http访问,b连接https访问,请问怎么配置了,可以配置在一个sever里面嘛?

    ps:例如登陆用https,其他额用http,后端用的是webpy框架
    11 条回复    2015-02-05 09:18:34 +08:00
    Showfom
        1
    Showfom  
       2015-02-04 13:27:03 +08:00
    可以的, http 用的是 80 端口,https 用的是 443 端口,只要没有别的程序和这两个端口冲突就没问题。
    skyline75489
        2
    skyline75489  
       2015-02-04 13:46:25 +08:00
    +1, nginx支持虚拟主机
    larkifly
        3
    larkifly  
    OP
       2015-02-04 14:30:58 +08:00
    @Showfom 能给个例子嘛?我觉着如果配置在一个server里,那么这个server里所有的连接都支持http和https
    Showfom
        4
    Showfom  
       2015-02-04 14:51:00 +08:00
    @larkifly 当然不能一个 server 里 要两个 server 啊
    crazycen
        5
    crazycen  
       2015-02-04 16:03:54 +08:00 via Android
    我的博客就是的!
    larkifly
        6
    larkifly  
    OP
       2015-02-04 17:03:20 +08:00
    @Showfom 哦,明白了
    soulteary
        7
    soulteary  
       2015-02-04 17:09:37 +08:00
    为啥不看文档...

    1.ssl反代80。
    2.server段80和443都监听。location匹配到某个地址后,ssl on即可。
    maxsec
        8
    maxsec  
       2015-02-04 17:43:41 +08:00
    server{
    listen 80;
    listen 443 ssl;
    ......
    }
    ryd994
        9
    ryd994  
       2015-02-04 22:19:24 +08:00
    其实你需要的是一个正常的HTTP虚拟主机,一个为HTTPS主机301的虚拟主机,加一个HTTPS主机。所以呢不要放在一个server block 里面。你应该有3个server block才对。

    @soulteary ssl on这个选项已经不推荐使用。另外在ssl只能在http和server block里用: http://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl。更重要的if is evil
    soulteary
        10
    soulteary  
       2015-02-04 22:56:01 +08:00
    @ryd994 get√
    mengzhuo
        11
    mengzhuo  
       2015-02-05 09:18:34 +08:00
    我是强制所有Http的请求301到https……

    server {
    listen 106.186.29.27:80;

    server_name .34nm.com;
    rewrite ^ https://34nm.com$request_uri? permanent;
    }
    server {

    listen 106.186.29.27:443 ssl spdy;
    ssl on;
    .....
    }
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5667 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 03:37 · PVG 11:37 · LAX 19:37 · JFK 22:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.