重写Nginx的规则

时间:2015-08-19 08:41:36

标签: nginx rewrite

我使用HTTP(80端口)和HTTPS(443)获得了Nginx服务器。但它落后于路由器和端口转发,如HTTP为17014,HTTPS为17004。从HTTP到HTTPS的重定向效果很好但我对HTTPS的请求有问题。例如,当我要解决“https://domain:17004”时,我应该看到我的应用程序,但只有在我要去“https://domain:port/panel_admin/login”时才会看到它。如何写正确的重写规则或什么?这是我的实际配置:

server {
    listen         80;
    listen         [::]:80;
    rewrite ^ https://strona:port_1$request_uri? permanent; 
}
server {
    listen 443 ssl;
    ssl_certificate /var/projekt/release_candidate/tags/0.4.1/trunk/zlight/webapp/cert/ssl.cert;
    ssl_certificate_key /var/projekt/release_candidate/tags/0.4.1/trunk/zlight/webapp/cert/ssl.key;

    location / {
       proxy_pass http://localhost:4000;
       proxy_set_header Host $host;
       proxy_set_header X-Real-IP $remote_addr;
    }

    location /static {
       alias /var/projekt/release_candidate/tags/0.4.1/trunk/zlight/webapp/static/;
    }
}

1 个答案:

答案 0 :(得分:0)

我解决了这个问题。正确的配置看起来像

server {
listen         80;
listen         [::]:80;
rewrite ^ https://strona:port_https$request_uri? permanent;
}
server {
listen 443 ssl;
ssl_certificate /var/projekt/release_candidate/tags/0.4.1/trunk/zlight/webapp/cert/ssl.cert;
ssl_certificate_key /var/projekt/release_candidate/tags/0.4.1/trunk/zlight/webapp/cert/ssl.key;

location / {
   proxy_pass http://localhost:4000;
   proxy_set_header Host $host:port_http;
   proxy_set_header X-Real-IP $remote_addr;
}

location /static {
   alias /var/projekt/release_candidate/tags/0.4.1/trunk/zlight/webapp/static/;
}
}

所以没有重写。 :)