August 03, 2011 03:06PM
On Wed, Aug 03, 2011 at 04:20:39AM -0400, Quincy wrote:
> I have the same problem. I can't redirect http to https. Here is my
> config:
>
> server {
> listen 2121;
> server_name XXXXX;
> ssl on;
> ssl_certificate XXt;
> ssl_certificate_key XX;
> #server_name _;
> server_name_in_redirect off;
> port_in_redirect off;
>
> root XXX;
>
> location / {
> index index.php;
> error_page 404 = @mediawiki;
> error_page 497 = @https;
> #error_page 400 = @https;
> error_page 400 https://$host:2121$request_uri;
> auth_basic "Restricted";
> auth_basic_user_file XXXX;
> }
>
> location @mediawiki {
> rewrite ^/([^?]*)(?:\?(.*))? /index.php?title=$1&$2 last;
> }
>
> location @https {
> rewrite ^ https://$host:2121$request_uri? permanent;
> }
>
> location ~ \.php$ {
> fastcgi_param QUERY_STRING $query_string;
> fastcgi_param REQUEST_METHOD $request_method;
> fastcgi_param CONTENT_TYPE $content_type;
> fastcgi_param CONTENT_LENGTH $content_length;
> fastcgi_param SCRIPT_NAME $fastcgi_script_name;
> fastcgi_param REQUEST_URI $request_uri;
> fastcgi_param DOCUMENT_URI $document_uri;
> fastcgi_param DOCUMENT_ROOT $document_root;
> fastcgi_param SERVER_PROTOCOL $server_protocol;
> fastcgi_param GATEWAY_INTERFACE CGI/1.1;
> fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;
> fastcgi_param REMOTE_ADDR $remote_addr;
> fastcgi_param REMOTE_PORT $remote_port;
> fastcgi_param SERVER_ADDR $server_addr;
> fastcgi_param SERVER_PORT $server_port;
> fastcgi_param SERVER_NAME $server_name;
>
> # PHP only, required if PHP was built with --enable-force-cgi-redirect
> fastcgi_param REDIRECT_STATUS 200;
>
> fastcgi_pass 127.0.0.1:9000;
> fastcgi_index index.php;
> fastcgi_param SCRIPT_FILENAME XXXX/$fastcgi_script_name;
> fastcgi_param HTTPS on;
> }
>
>
> }
>
> Https is working flawlessly, but when I try http I get an error (400 Bad
> Request
>
> The plain HTTP request was sent to HTTPS port
> nginx/1.0.5) instead of redirect.

As Maxim already said, you should handle 497 error on server level.
Besides, you may set URL to redirect in error_page directive:

- error_page 497 = @https;
+ error_page 497 https://$host:2121$request_uri;


--
Igor Sysoev

_______________________________________________
nginx mailing list
nginx@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx
Subject Author Posted

http to https rewrite, non-standard port?

J2R December 06, 2010 06:52AM

Re: http to https rewrite, non-standard port?

Igor Sysoev December 06, 2010 07:04AM

Re: http to https rewrite, non-standard port?

Quincy August 03, 2011 04:20AM

Re: http to https rewrite, non-standard port?

cyberjar09 January 07, 2013 05:01AM

Re: http to https rewrite, non-standard port?

Maxim Dounin August 03, 2011 04:44AM

Re: http to https rewrite, non-standard port?

Igor Sysoev August 03, 2011 03:10PM

Re: http to https rewrite, non-standard port?

Igor Sysoev August 03, 2011 03:06PM

Re: http to https rewrite, non-standard port?

Quincy August 04, 2011 05:04AM

Re: http to https rewrite, non-standard port?

cyberjar09 January 07, 2013 04:16AM

Re: http to https rewrite, non-standard port?

cyberjar09 January 07, 2013 04:40AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 293
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready