Hi Christian, Just tried that and there's no change. Additionally, I notice the response from the first request looks like this (notice the http URL's vs https.. almost like it sees the redirect but doesn't want to follow it!)
{"stat": "ok", "review_request": {"status": "pending", "last_updated": "2012-12-05 14:02:11", "description": "", "links": {"diffs": {"href": "http://reviewboard.COMPANYNAME.com/reviews/api/review-requests/189/diffs/", "method": "GET"}, "repository": {"href": "http://reviewboard.COMPANYNAME.com/reviews/api/repositories/3/", "method": "GET", "title": "Puppet"}, "screenshots": {"href": "http://reviewboard.COMPANYNAME.com/reviews/api/review-requests/189/screenshots/", "method": "GET"}, "self": {"href": "http://reviewboard.COMPANYNAME.com/reviews/api/review-requests/189/", "method": "GET"}, "update": {"href": "http://reviewboard.COMPANYNAME.com/reviews/api/review-requests/189/", "method": "PUT"}, "last_update": {"href": "http://reviewboard.COMPANYNAME.com/reviews/api/review-requests/189/last-update/", "method": "GET"}, "reviews": {"href": "http://reviewboard.COMPANYNAME.com/reviews/api/review-requests/189/reviews/", "method": "GET"}, "draft": {"href": "http://reviewboard.COMPANYNAME.com/reviews/api/review-requests/189/draft/", "method": "GET"}, "file_attachments": {"href": "http://reviewboard.COMPANYNAME.com/reviews/api/review-requests/189/file-attachments/", "method": "GET"}, "submitter": {"href": "http://reviewboard.COMPANYNAME.com/reviews/api/users/admin/", "method": "GET", "title": "admin"}, "changes": {"href": "http://reviewboard.COMPANYNAME.com/reviews/api/review-requests/189/changes/", "method": "GET"}, "delete": {"href": "http://reviewboard.COMPANYNAME.com/reviews/api/review-requests/189/", "method": "DELETE"}}, "public": false, "target_groups": [], "bugs_closed": [], "changenum": null, "target_people": [], "testing_done": "", "branch": "", "time_added": "2012-12-05 14:02:11", "summary": "", "id": 189}} On Wednesday, December 5, 2012 4:38:51 PM UTC-8, Christian Hammond wrote: > > Hi Brian, > > Something to try would be to add: > > os.environ['HTTPS'] = 'on' > > to htdocs/reviewboard.wsgi. > > See if that makes a difference. I noticed this at one point as well. We > need to change things to generate this by default if using https, or find a > beter way to turn it on by default. > > Christian > > -- > Christian Hammond - chi...@chipx86.com <javascript:> > Review Board - http://www.reviewboard.org > VMware, Inc. - http://www.vmware.com > > > > On Wed, Dec 5, 2012 at 4:31 PM, Brian Lewis <*...@brianlewis.us<javascript:> > > wrote: > >> Hello All, >> >> I've been racking my brain on this for a couple of days and figured I'd >> post here before I refactor my entire setup. Basically what we are doing >> is, we have two servers - one is a standard apache web node that acts as a >> proxy server and terminates SSL, then we have reviewboard being proxied >> behind that. >> >> I've got everything setup and working with the exception of one piece. I >> can upload a diff, I can add titles, descriptions, reviewers, etc. Tracing >> the requests I can see that https is being returned as the request URL, >> HOWEVER, when you go to publish a review, we get a 304 error and the >> request URL is a non-https link. >> >> I'm doing the rewriting from the web node directly, with a mod_rewrite >> specifically calling out that its proxied (but changing or completely >> removing the options doesn't make any difference) For reference, here's the >> rewrite :: >> >> RewriteCond %{HTTPS} off >> RewriteRule .* https://%{HTTP_HOST}%{REQUEST_**URI} [R=301,P,PT,L] >> >> >> When I click on publish, essentially I see two requests (and nothing at >> all in the debug logs, etc) The first :: >> >> Request URL:*https://reviewboard.boku.com/reviews/api/review- >> requests/189/?api_format=json* >> Request Method:GET >> Status Code:304 NOT MODIFIED >> Request Headersview source >> Accept:application/json, text/javascript, */* >> Accept-Charset:ISO-8859-1,utf-**8;q=0.7,*;q=0.3 >> Accept-Encoding:gzip,deflate,**sdch >> Accept-Language:en-US,en;q=0.8 >> Cache-Control:max-age=0 >> Connection:keep-alive >> Cookie:rbsessionid=**bbf077166394571eaaf514053e6c46**91; >> __utma=109258518.568604164.**1352840613.1352938162.**1354736370.4; >> __utmc=109258518; __utmz=109258518.1352929269.2.** >> 2.utmcsr=google|utmccn=(**organic)|utmcmd=organic|**utmctr=(not%20provided); >> csrftoken=**b6dec71b9219e2090d9d98acf203e1**f4 >> Host:reviewboard.boku.com >> If-Modified-Since:Wed, 05 Dec 2012 22:02:11 GMT >> Referer:https://reviewboard.**boku.com/reviews/r/189/<https://reviewboard.boku.com/reviews/r/189/> >> User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) >> AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11 >> X-Requested-With:**XMLHttpRequest >> Query String Parametersview URL encoded >> api_format:json >> Response Headersview source >> Cache-Control:max-age=0 >> Connection:close >> Date:Thu, 06 Dec 2012 00:12:46 GMT >> Expires:Thu, 06 Dec 2012 00:12:48 GMT >> Server:Apache/2.2.15 (CentOS) >> Vary:Accept,Cookie,Accept-**Language >> >> The second :: >> >> >> Request URL:*http://reviewboard.boku.com/reviews/api/review- >> requests/189/draft/* >> Request Method:OPTIONS >> Status Code:200 OK >> Request Headersview source >> Accept:*/* >> Accept-Charset:ISO-8859-1,utf-**8;q=0.7,*;q=0.3 >> Accept-Encoding:gzip,deflate,**sdch >> Accept-Language:en-US,en;q=0.8 >> Access-Control-Request-**Headers:origin, x-requested-with, content-type, >> accept >> Access-Control-Request-Method:**PUT >> Connection:keep-alive >> Host:reviewboard.boku.com >> Origin:https://reviewboard.**boku.com <https://reviewboard.boku.com/> >> User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) >> AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11 >> Response Headersview source >> Allow:GET,HEAD,POST,OPTIONS >> Connection:close >> Content-Length:0 >> Content-Type:text/plain; charset=UTF-8 >> Date:Thu, 06 Dec 2012 00:12:48 GMT >> Server:Apache >> >> >> literally every other request comes in via HTTPS, clicking on links, >> performing actions, etc. the ONLY thing that fails is publishing. I'm not >> sure what to do next at this point so I wanted to see if anyone had ever >> run into this. Below I will also paste the apache config for the proxy/ssl >> term server and the web head for comparison. >> >> >> SSL Proxy :: >> >> <VirtualHost 192.168.200.124:443> >> >> ServerName reviewboard.COMPANYNAME.com<http://reviewboard.companyname.com/> >> >> SSLEngine on >> >> SSLProtocol all -SSLv2 >> >> SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+**RSA:+HIGH:+MEDIUM:+LOW >> >> SSLCertificateFile /etc/pki/entrust-certs/star.**COMPANYNAME.com/star.* >> *COMPANYNAME.com.crt<http://star.companyname.com/star.COMPANYNAME.com.crt> >> >> SSLCertificateKeyFile /etc/pki/entrust-certs/star.** >> COMPANYNAME.com/star.**COMPANYNAME.com.key<http://star.companyname.com/star.COMPANYNAME.com.key> >> >> SSLCACertificateFile /etc/pki/entrust-certs/star.** >> COMPANYNAME.com/star.**COMPANYNAME.com_bundle.crt<http://star.companyname.com/star.COMPANYNAME.com_bundle.crt> >> >> # SSLCertificateFile /etc/pki/tls/certs/**COMPANYNAME.com.crt >> >> # SSLCertificateKeyFile /etc/pki/tls/certs/**COMPANYNAME.com.key >> >> # SSLCACertificateFile /etc/pki/tls/certs/gd_bundle.**crt >> >> >> # Default to not cache anything >> >> ExpiresActive On >> >> ExpiresDefault "access plus 0 seconds" >> >> >> # Cache just images >> >> ExpiresByType image/gif "access plus 10 minutes" >> >> ExpiresByType image/jpg "access plus 10 minutes" >> >> ExpiresByType image/png "access plus 10 minutes" >> >> >> proxyPreserveHost On >> >> ProxyRequests On >> >> >> ProxyPass / >> http://reviewboard01.local-**COMPANYNAME.net:8080/<http://reviewboard01.local-companyname.net:8080/> >> >> ProxyPassReverse / >> http://reviewboard01.local-**COMPANYNAME.net:8080/<http://reviewboard01.local-companyname.net:8080/> >> >> <Location /> >> >> ProxyPassReverse / >> >> Order deny,allow >> >> Allow from all >> >> </Location> >> >> RequestHeader edit Location >> ^http://reviewboard.**COMPANYNAME.com/<http://reviewboard.companyname.com/> >> https://reviewboard.**COMPANYNAME.com/<https://reviewboard.companyname.com/> >> >> >> CustomLog /var/log/httpd/reviewboard.**COMPANYNAME.com-access.log >> common >> >> ErrorLog /var/log/httpd/reviewboard.**COMPANYNAME.com-error.log >> >> SetEnv HTTPS on >> >> >> </VirtualHost> >> >> >> <VirtualHost *:80> >> >> ServerName reviewboard.COMPANYNAME.com<http://reviewboard.companyname.com/> >> >> #RewriteEngine on >> >> >> # Rewrite traffic back to >> https://reviewboard.**COMPANYNAME.com<https://reviewboard.companyname.com/> >> >> # RewriteCond %{SERVER_NAME} >> reviewboard.COMPANYNAME.com<http://reviewboard.companyname.com/> >> >> # RewriteCond %{HTTPS} !=on >> >> # RewriteRule ^/(.*)$ >> https://reviewboard.**COMPANYNAME.com/$1<https://reviewboard.companyname.com/$1> >> [R=301,PT] >> >> >> RewriteCond %{HTTPS} off >> >> RewriteRule .* https://%{HTTP_HOST}%{REQUEST_**URI} [R=301,P,PT,L] >> >> >> CustomLog /var/log/httpd/reviewboard.**COMPANYNAME.com-access.log >> common >> >> ErrorLog /var/log/httpd/reviewboard.**COMPANYNAME.com-error.log >> >> SetEnv HTTPS on >> >> </VirtualHost> >> >> >> >> Web Node/Node running Reviewboard >> >> >> Listen 8080 >> >> <VirtualHost *:8080> >> >> SetEnv HTTPS on >> >> ServerName >> reviewboard01.local-**COMPANYNAME.net<http://reviewboard01.local-companyname.net/> >> >> DocumentRoot "/var/www/reviewboard/htdocs" >> >> #LogLevel debug >> >> # Error handlers >> >> ErrorDocument 500 /errordocs/500.html >> >> >> WSGIPassAuthorization On >> >> WSGIScriptAlias "/reviews" "/var/www/reviewboard/htdocs/** >> reviewboard.wsgi/reviews" >> >> <Directory "/var/www/reviewboard/htdocs"> >> >> AllowOverride All >> >> Options -Indexes FollowSymLinks >> >> Allow from all >> >> </Directory> >> >> >> # Alias static media requests to filesystem >> >> Alias /reviews/media "/var/www/reviewboard/htdocs/**media" >> >> Alias /reviews/errordocs "/var/www/reviewboard/htdocs/**errordocs" >> >> Alias /reviews/favicon.ico "/var/www/reviewboard/htdocs/** >> media/rbcommons/images/**favicon.png" >> >> >> Any help here would be greatly appreciated! >> >> >> Best, >> >> Brian >> >> -- >> Want to help the Review Board project? Donate today at >> http://www.reviewboard.org/donate/ >> Happy user? Let us know at http://www.reviewboard.org/users/ >> -~----------~----~----~----~------~----~------~--~--- >> To unsubscribe from this group, send email to >> reviewboard...@googlegroups.com <javascript:> >> For more options, visit this group at >> http://groups.google.com/group/reviewboard?hl=en >> >> >> > > -- Want to help the Review Board project? Donate today at http://www.reviewboard.org/donate/ Happy user? Let us know at http://www.reviewboard.org/users/ -~----------~----~----~----~------~----~------~--~--- To unsubscribe from this group, send email to reviewboard+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/reviewboard?hl=en