Hi Brian, One more thing to sanity check. If you go to your General Settings page, do you have the server set as http://blah, or https://blah ?
Christian -- Christian Hammond - chip...@chipx86.com Review Board - http://www.reviewboard.org VMware, Inc. - http://www.vmware.com On Wed, Dec 5, 2012 at 4:59 PM, Brian Lewis <*@brianlewis.us> wrote: > Hi Christian, > > Yes - I just stopped apache and manually restarted it as well just to make > sure. Here's a copy of the reviewboard.wsgi file :: > > > import os > import sys > > os.environ['DJANGO_SETTINGS_MODULE'] = "reviewboard.settings" > os.environ['PYTHON_EGG_CACHE'] = "/var/www/reviewboard/tmp/egg_cache" > os.environ['HOME'] = "/var/www/reviewboard/data" > os.environ['HTTPS'] = 'on' > sys.path = ['/var/www/reviewboard/conf'] + sys.path > > import django.core.handlers.wsgi > application = django.core.handlers.wsgi.WSGIHandler() > > > > On Wednesday, December 5, 2012 4:52:12 PM UTC-8, Christian Hammond wrote: > >> Just to sanity check, did you reload Apache? >> >> We put in absolute URLs, and we tell Django to build those for us. Django >> will insert "https" if it sees the "HTTPS" environment variable set to >> "on", and "http" otherwise. Provided the process is ending up with this >> environment variable set, and the server is reloaded, it should be working. >> Would you mind pasting the reviewboard.wsgi file? >> >> Christian >> >> -- >> Christian Hammond - chi...@chipx86.com >> Review Board - http://www.reviewboard.org >> VMware, Inc. - http://www.vmware.com >> >> >> >> On Wed, Dec 5, 2012 at 4:46 PM, Brian Lewis <*...@brianlewis.us> wrote: >> >>> 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/<http://reviewboard.COMPANYNAME.com/reviews/api/review-requests/189/diffs/>", >>> "method": "GET"}, "repository": {"href": "http://reviewboard.** >>> COMPANYNAME.com/reviews/api/**repositories/3/<http://reviewboard.COMPANYNAME.com/reviews/api/repositories/3/>", >>> "method": "GET", "title": "Puppet"}, "screenshots": {"href": " >>> http://reviewboard.**COMPANYNAME.com/reviews/api/**review-requests/189/* >>> *screenshots/<http://reviewboard.COMPANYNAME.com/reviews/api/review-requests/189/screenshots/>", >>> "method": "GET"}, "self": {"href": "http://reviewboard.** >>> COMPANYNAME.com/reviews/api/**review-requests/189/<http://reviewboard.COMPANYNAME.com/reviews/api/review-requests/189/>", >>> "method": "GET"}, "update": {"href": "http://reviewboard.** >>> COMPANYNAME.com/reviews/api/**review-requests/189/<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/<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/<http://reviewboard.COMPANYNAME.com/reviews/api/review-requests/189/reviews/>", >>> "method": "GET"}, "draft": {"href": "http://reviewboard.** >>> COMPANYNAME.com/reviews/api/**review-requests/189/draft/<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/<http://reviewboard.COMPANYNAME.com/reviews/api/review-requests/189/file-attachments/>", >>> "method": "GET"}, "submitter": {"href": "http://reviewboard.** >>> COMPANYNAME.com/reviews/api/**users/admin/<http://reviewboard.COMPANYNAME.com/reviews/api/users/admin/>", >>> "method": "GET", "title": "admin"}, "changes": {"href": " >>> http://reviewboard.**COMPANYNAME.com/reviews/api/** >>> review-requests/189/changes/<http://reviewboard.COMPANYNAME.com/reviews/api/review-requests/189/changes/>", >>> "method": "GET"}, "delete": {"href": "http://reviewboard.** >>> COMPANYNAME.com/reviews/api/**review-requests/189/<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 >>>> >>>> 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> 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,**s****dch >>>>> Accept-Language:en-US,en;q=0.8 >>>>> Cache-Control:max-age=0 >>>>> Connection:keep-alive >>>>> Cookie:rbsessionid=**bbf07716639****4571eaaf514053e6c46**91; >>>>> __utma=109258518.568604164.**135****2840613.1352938162.**1354736370.** >>>>> **4; __utmc=109258518; __utmz=109258518.1352929269.2.****** >>>>> 2.utmcsr=google|utmccn=(**organi****c)|utmcmd=organic|**utmctr=(not%** >>>>> **20provided); csrftoken=**b6dec71b9219e2090d9d****98acf203e1**f4 >>>>> Host:reviewboard.boku.com >>>>> If-Modified-Since:Wed, 05 Dec 2012 22:02:11 GMT >>>>> Referer:https://reviewboard.**bo****ku.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:**XMLHttpReques****t >>>>> 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-**Lang****uage >>>>> >>>>> 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,**s****dch >>>>> 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.**bok****u.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:**4**43 <http://192.168.200.124:443/>> >>>>> >>>>> ServerName >>>>> reviewboard.**COMPANY**NAME.com<http://reviewboard.companyname.com/> >>>>> >>>>> SSLEngine on >>>>> >>>>> SSLProtocol all -SSLv2 >>>>> >>>>> SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+**RS**** >>>>> A:+HIGH:+MEDIUM:+LOW >>>>> >>>>> SSLCertificateFile /etc/pki/entrust-certs/star.**CO**** >>>>> MPANYNAME.com/star.**COMPANYNAME****.com.crt<http://star.companyname.com/star.COMPANYNAME.com.crt> >>>>> >>>>> SSLCertificateKeyFile /etc/pki/entrust-certs/star.**CO**** >>>>> MPANYNAME.com/star.**COMPANYNAME****.com.key<http://star.companyname.com/star.COMPANYNAME.com.key> >>>>> >>>>> SSLCACertificateFile /etc/pki/entrust-certs/star.**CO**** >>>>> MPANYNAME.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.**c****rt >>>>> >>>>> >>>>> # 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-**C****OMPANYNAME.net:8080/<http://reviewboard01.local-companyname.net:8080/> >>>>> >>>>> ProxyPassReverse / http://reviewboard01.local-**C**** >>>>> OMPANYNAME.net:8080/<http://reviewboard01.local-companyname.net:8080/> >>>>> >>>>> <Location /> >>>>> >>>>> ProxyPassReverse / >>>>> >>>>> Order deny,allow >>>>> >>>>> Allow from all >>>>> >>>>> </Location> >>>>> >>>>> RequestHeader edit Location ^http://reviewboard.**COMPANYNAM**** >>>>> E.com/ <http://reviewboard.companyname.com/> https://reviewboard.**COM >>>>> ****PANYNAME.com/ <https://reviewboard.companyname.com/> >>>>> >>>>> >>>>> CustomLog /var/log/httpd/reviewboard.**COM****PANYNAME.com-access.log >>>>> common >>>>> >>>>> ErrorLog /var/log/httpd/reviewboard.**CO****MPANYNAME.com-error.log >>>>> >>>>> SetEnv HTTPS on >>>>> >>>>> >>>>> </VirtualHost> >>>>> >>>>> >>>>> <VirtualHost *:80> >>>>> >>>>> ServerName >>>>> reviewboard.**COMPANY**NAME.com<http://reviewboard.companyname.com/> >>>>> >>>>> #RewriteEngine on >>>>> >>>>> >>>>> # Rewrite traffic back to >>>>> https://reviewboard.**COMPANY****NAME.com<https://reviewboard.companyname.com/> >>>>> >>>>> # RewriteCond %{SERVER_NAME} >>>>> reviewboard.COMPANYNAME.com<http://reviewboard.companyname.com/> >>>>> >>>>> # RewriteCond %{HTTPS} !=on >>>>> >>>>> # RewriteRule ^/(.*)$ >>>>> https://reviewboard.**CO****MPANYNAME.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.**COM****PANYNAME.com-access.log >>>>> common >>>>> >>>>> ErrorLog /var/log/httpd/reviewboard.**CO****MPANYNAME.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/**r**** >>>>> eviewboard.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/**m****edia" >>>>> >>>>> Alias /reviews/errordocs "/var/www/reviewboard/htdocs/**e****rrordocs" >>>>> >>>>> Alias /reviews/favicon.ico "/var/www/reviewboard/htdocs/**m**** >>>>> edia/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/**don**ate/<http://www.reviewboard.org/donate/> >>>>> Happy user? Let us know at >>>>> http://www.reviewboard.org/**use**rs/<http://www.reviewboard.org/users/> >>>>> -~----------~----~----~----~--****----~----~------~--~--- >>>>> To unsubscribe from this group, send email to reviewboard...@** >>>>> googlegroups.**com >>>>> >>>>> For more options, visit this group at http://groups.google.com/**group >>>>> **/reviewboard?hl=en<http://groups.google.com/group/reviewboard?hl=en> >>>>> >>>>> >>>>> >>>> >>>> -- >>> Want to help the Review Board project? Donate today at >>> http://www.reviewboard.org/**donate/<http://www.reviewboard.org/donate/> >>> Happy user? Let us know at >>> http://www.reviewboard.org/**users/<http://www.reviewboard.org/users/> >>> -~----------~----~----~----~--**----~----~------~--~--- >>> To unsubscribe from this group, send email to reviewboard...@** >>> googlegroups.com >>> For more options, visit this group at http://groups.google.com/** >>> group/reviewboard?hl=en<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 > > > -- 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