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


Reply via email to