fiduswriter / ojs-fiduswriter

A Open Journal Systems (OJS) plugin to connect to Fidus Writer
GNU General Public License v2.0
1 stars 2 forks source link

"http" instead of "https" during submission process #17

Open nmueller18 opened 5 months ago

nmueller18 commented 5 months ago

During submission via Fiduswriter to OJS, two rows are added to the backend-MySQL-table "submission_settings" that handle the communication between FW and OJS. It appears that in the row for the address of the FW-server, the URL erroneously starts with "http:". This leads to an error 500 when clicking on the Fiduswriter-link in OJS. If changed manually to "https:", everything works as expected. The error might also originate in the fiduswriter-ojs-plugin.

nmueller18 commented 2 months ago

The problem seems indeed to be related to the fiduswriter-ojs-plugin. In views.py, the line fidus_url = request.build_absolute_uri("/")[:-1] seems to generate the URL. If Fiduswriter is behind a nginx-server, the resulting URL will start with "http" instead of "https". A possible solution is explained here. @johanneswilm : Perhaps this hint can be added to the installation procedure of fiduswriter regarding nginx?

johanneswilm commented 2 months ago

This "https" should already be set correctly if the installation contains "https" at the time when OJS and FW are connected with oneanother. This should only happen if the Fidus Writer server initially is installed at an address with "http://" and later on it is moved to "https://".

johanneswilm commented 2 months ago

I wonder - did you set this line:

proxy_set_header X-Forwarded-Proto $scheme;

In the nginx configuration as described here: https://github.com/fiduswriter/fiduswriter/wiki/Installation-and-configuration-on-Ubuntu-using-snap#proxy-fidus-writer-on-port-80-using-nginx

nmueller18 commented 2 months ago

This "https" should already be set correctly if the installation contains "https" at the time when OJS and FW are connected with oneanother. This should only happen if the Fidus Writer server initially is installed at an address with "http://" and later on it is moved to "https://".

Ah, okay. I am still awaiting the response from our technical administrator if this is really the solution for the problem described above. Perhaps I should have been more patient ...