縣市IDP更換SSL憑證及修改servername+wildfly等設定

URL Link //n.sfs.tw/12052

2017-11-21 12:12:15 By jung

###2021/10/28 更新

由於private.key檔案可能被鎖住讀取權限

須在本機先用sudo chmod 644 private.key變更權限,才能用 ssh上傳

 

各縣市IDP預定修改為TWCA_Root_Intermidiate並更改ServerName為:xx.sso.edu.tw

步驟如下:

1. 先停止apache

systemctl stop httpd

2.進到設定ssl檔案位置的apache設定檔資料夾: 這裡以南投為例, centos7位於/etc/httpd/conf.d/wildfly.conf

要修改的地方有

(1)  <VirtualHost ntct.sso.edu.tw:443> & <VirtualHost ntct.sso.edu.tw:6666>

(2)

SSLCertificateFile /etc/pki/tls/certs/server.cer 
SSLCertificateKeyFile /etc/pki/tls/private/privatekey.key 
SSLCertificateChainFile /etc/pki/tls/certs/uca.cer 
SSLCACertificateFile /etc/pki/tls/certs/root.cer 

ServerName ntct.sso.edu.tw

3. 將SSL憑證上傳到上述資料夾

共通的憑證檔位於TWCA_Root_Intermidiate內有:

各縣市不同的憑證檔內有:

4. 更改/etc/httpd/conf/httpd.conf的ServerName

 

#####如果依照axer大使用wildfly-le-ssl.conf設定

需更改設定ssl加解密方式檔的位置: options-ssl-apache.conf

原本使用letsencrypt位於/etc/letsencrypt/options-ssl-apache.conf

#######

5. 更改本機hostname

hostnamectl set-hostname ntct.sso.edu.tw

需檢查http是否在ssl.conf或httpd.conf中Listen 443

如果在/etc/httpd/conf/httpd.conf 加入 mod.ssl Listen 443,則在 wildfly.conf 中,須將 Listen 443 註解,

反之,若在httpd.conf Listen 80,則wildfly.conf 需 Listen 443

### 到此http SSL部分更改完成,axer大建議重新開機

可到SSL checker網站檢查是否設定正確: https://www.sslshopper.com/ssl-checker.html

####

2018/11/08更新

如果要更換憑證,只需再把新的server.cer及private.key覆蓋掉舊的cer,key檔,再重新啟動httpd就完成了

####

6. 設定wildfly記憶體:

6-1 檢查目前允許開放的檔案數量及程序量

ps -aux | grep 'wildfly'

6-2 利用pid查詢目前狀況

cat /proc/wildfly-pid/limits

6-3 把可執行程序及可開啟檔案均設定為64000

檢查wildfly uid

cat /etc/passwd | grep 'wildfly'

建立使用者系統限制設定檔

vim /etc/security/limits.d/99-wildfly.conf

新增設定

wildfly soft nproc 64000
wildfly hard nproc 64000
wildfly soft nofile 64000
wildfly hard nofile 64000

重新啟動

systemctl restart wildfly

 

6-4 更改Wildfly 執行的記憶體

避免發生OutOfMemory 錯誤,GC 機制的空間(註:記憶體設定請依本機的記憶體大小進行,以下的例子是8G 的記憶體)

編輯vim /opt/wildfly-dir/bin/standalone.conf

修改 JAVA_OPTS="-Xms2048m -Xmx4096m -XX:MetaspaceSize=2048M -XX:MaxMetaspaceSize=8192m

MaxMetaspaceSize設為最大值(不超過系統ram上限)

Xmx加上MetaspaceSize數值不超過上述最大值

完成後重新啟動wildfly

systemctl restart wildfly

 

7. 重新編譯authserver程式

修改config.properties程式

issuer改為正確的xx.sso.edu.tw

編譯後重新上傳cncauthserver-0.1.war

到放置war檔資料夾先卸載舊的war程式

sh /opt/wildfly10/bin/jboss-cli.sh --connect controller=127.0.0.1 -c "undeploy cncauthserver-0.1.war"

再重新發布

sh /opt/wildfly10/bin/jboss-cli.sh --connect controller=127.0.0.1 -c "deploy cncauthserver-0.1.war"

測試是否可正確連結https://xx.sso.edu.tw

完成

 

在netbeans中修改git URL:

在專案-->右鍵-->Git-->Repository-->Open Configuration

需先檢查Netbeans是否安裝SSL套件