Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
	relaxedPathChars="[]|"
	
	relaxedQueryChars="[]|{}^\`"<>"

Konfiguracja SSL dla wersji 4.2

Code Block
  <Connector port="443"
	protocol="org.apache.coyote.http11.Http11NioProtocol"
	maxThreads="200"
	scheme="https"
	secure="true"
	SSLEnabled="true"
	clientAuth="false"
	URIEncoding="UTF-8"
	sslProtocol="TLS"
	connectionTimeout="20000"
	maxHttpHeaderSize="65536"
	maxPostSize="40194304"
	relaxedPathChars="[]|"
	relaxedQueryChars="[]|{}^&#x5c;&#x60;&quot;&lt;&gt;"
	encodedSolidusHandling="decode">
<UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" />
<SSLHostConfig>
<Certificate
	certificateKeystoreFile="conf/workflowweb.pfx"
	certificateKeystorePassword="password"
	type="RSA"/>
</SSLHostConfig>
</Connector>

 

Ustawienie automatycznego przekierowania na szyfrowany port. 

...

Wpis z web.xml można zastąpić użyciem parametru systemowego REDIRECT_FROM_HTTP_TO_HTTPS. Użycie parametru nadal wymaga zmian w server.xml w celu zdefiniowania Connectora (jest wyżej) dla https i przekierowania na wybrany port.

 

Poniżej wersji 4.2:

Aby dodać automatyczne przekierowanie żądań http na httpsnależy w pliku web.xml dodać sekcję <security-constraint>

Code Block
................
</jsp-config>   <resource-ref>     <description>PlusWorkflow Default Connection Resource</description>
    <res-ref-name>PlusWorkflowResource</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
  </resource-ref>
  
    <!-- Require HTTPS for everything except /img (favicon) and /css. -->
    <security-constraint>
        <web-resource-collection>
            <web-resource-name>HTTPSOnly</web-resource-name>
            <url-pattern>/*</url-pattern>
        </web-resource-collection>
        <user-data-constraint>
            <transport-guarantee>CONFIDENTIAL</transport-guarantee>
        </user-data-constraint>
    </security-constraint>
    <security-constraint>
        <web-resource-collection>
            <web-resource-name>HTTPSOrHTTP</web-resource-name>
            <url-pattern>*.ico</url-pattern>
            <url-pattern>/img/*</url-pattern>
            <url-pattern>/css/*</url-pattern>
			            <url-pattern>/services/ReleaseService/*</url-pattern>
        </web-resource-collection>
        <user-data-constraint>
            <transport-guarantee>NONE</transport-guarantee>
        </user-data-constraint>
    </security-constraint>
   
  <welcome-file-list>
    <welcome-file>default.do</welcome-file>
  </welcome-file-list>
.........................

...

Standardowo systemy Linux mają zablokowaną możliwość uruchamiania usług na użytkownikach nie-root'woych na portach poniżej 1024. System PlusWorkflow działa na użytkowniku plusworkflow więc aby uruchomić usługę na portach 443 lub 80 należy wykonac następujące polecenia:

W poniższych poleceniach z wskazaną ścieżką do Javy należy się najpierw upewnić jaka jest dokładna lokalizacja javy np. czy w ścieżce jest "/jre/jre"

Code Block
sudo setcap cap_net_bind_service+ep /path/to/bin/java

lub podając konkretną ścieżkę:

sudo setcap cap_net_bind_service+ep /home/plusworkflow/plusworkflow-prod/jre/bin/java

lub 

sudo setcap cap_net_bind_service+ep /home/plusworkflow/plusworkflow-prod/jre/jre/bin/java

 

Często bywa tak, że po wykonaniu powyższego nie ma możliwości uruchomienia javy i leci błąd:

...

Code Block
# echo "/home/plusworkflow/plusworkflow-prod/jre/lib/amd64/jli" > /etc/ld.so.conf.d/java-libjli.conf
# ldconfig -v

Dla wersji 4.2

Code Block
echo "/home/plusworkflow/test/jre/lib" | sudo tee /etc/ld.so.conf.d/java-libjli.so
sudo ldconfig

ALBO


patchelf --set-rpath /home/plusworkflow/dev/jre/lib /home/plusworkflow/dev/jre/bin/java

sudo setcap 'cap_net_bind_service=+ep' /home/plusworkflow/dev/jre/bin/java

 

aby cofnąć powyższe polecenie można wykonać:

...