...
W przypadku, gdy hasło zawiera znak "&", hasło należy wpisać w cudzysłowie. zapisać "&", na przykład:
"Wdrozenie&" zapisać jako "Wdrozenie&".
Info |
---|
Po wydaniu polecenia zapisz sobie hasło i wygenerowany alias dla nowego keystore (jak na powyższym zrzucie). Przyda się podczas konfiguracji Tomcata. |
...
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
<Connector protocol="org.apache.coyote.http11.Http11NioProtocol" port="8443" maxThreads="200" scheme="https" secure="true" SSLEnabled="true" keystoreFile="/home/plusworkflow/plusworkflow-prod/server/conf/certyfikat.pfx" keystorePass="hasło_do_pfx" keystoreType="PKCS12" clientAuth="false" relaxedPathChars="[]|" relaxedQueryChars="[]|{}^\`"<>" URIEncoding="UTF-8" sslProtocol="TLS" maxHttpHeaderSize="65536" maxPostSize="40194304"/> |
Jeżeli pojawi się problem ze znakami np. "the valid characters are defined in rfc 7230 and rfc 3986" - należy dodać ten wpis w konfiguracji connectora
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="[]|{}^\`"<>" 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.
Wyedytuj plik %CATALINA_HOME%\webapps\ROOT\index.html. Atrybut content powinien zawierać odpowiedni link do systemu (protokół https)
Zrestartuj serwer system i przetestuj czy jesteś automatycznie przekierowywany do wskazanego w pliku index.html URL'a . JEŻELI
w katalogu ROOT nie znajduje się index.html należy go utworzyć
Code Block | ||
---|---|---|
| ||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title></title>
<meta HTTP-EQUIV="REFRESH" content="0; url=http://localhost/PlusWorkflow/default.do">
</head>
<body>
</body>
</html> |
Dodatkowo należy pamiętać, aby w pliku web.xml odkomentować <welcome-file-list>
Konfiguracja SSL na Linuxie lub w przypadku dostarczenia certyfikatów w postaci klucza prywatnego (private.key) oraz pliku crt (czasem występującego w formacie .pem)
...
Automatyczne przekierowanie żądań http na https
Od wersji 4.2:
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ć:
...