Posts

Showing posts from June, 2018

CentOS7: How to install Mono in the apache2

CentOS7 上面要支援 ASP / ASP.NET 有兩種方式 一種是本篇文章要介紹的 Mono 另外一種是 Microsoft 自己開發的 DotNET Core 兩種都有跨平台支援 網路上的教學安裝了太多的套件 我只想跑 ASP 而已 僅列出我需要的環境教學 我的環境是: CentOS 7.5.1804 x86_64 Apache 2.4 安裝步驟 1. 匯入 Repo $ rpm --import "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF" $ su -c 'curl https://download.mono-project.com/repo/centos7-stable.repo | tee /etc/yum.repos.d/mono-centos7-stable.repo' 2. 安裝 mono 套件 $ yum install mod_mono 3. 修改 mod_mono.conf $ vi /etc/httpd/conf.d/mod_mono.conf 將這段加到最下面 MonoServerPath /usr/bin/mod-mono-server4 如果要跑 asp 請加入這行 AddType application/x-asp-net .asp 如果要讓 index.asp 變為預設首頁請加入這行 DirectoryIndex index.asp 4. 重開 apache $ systemctl restart httpd

CentOS7 如何新增/移除 Rich Rule for firewalld

如果要針對某個 ip 開放某個 port 需要用到 rich rule 來設定 針對 public zone 列出永久的 rule # firewall-cmd --zone=public --list-all --permanent 針對特定的 ip 開放特定的 port 這邊是針對 sql server 開放 # firewall-cmd --add-rich-rule="rule family="ipv4" source address="1.1.1.1" port port="1433" protocol="tcp" accept" --permanent 如果要移除 rich rule # firewall-cmd --permanent --remove-rich-rule 'rule family="ipv4" source address="1.1.1.1" port protocol="tcp" port="1433" accept' PS. webmin 看不到 rich rule, 所以需要用 cmd 才能設定

Websocket error

Image
前端使用 React 開發 利用 restful API 來串接資料庫的部分 在本機開發的時候不會有 websocket 連接 但放到 server 上就會跑出來 而且會有 http error 400 的錯誤 妙的是 Connecting 居然是 Upgrade 網路上搜尋到分別有 Apache 跟 Nginx 的解法 我是參考 fuatsengul 說的這部分去做設定的 ServerName mysite.com ServerAlias www.mysite.com SSLEngine on SSLProxyEngine On ProxyRequests Off SSLCertificateFile /etc/apache2/ssl/mysite.com.crt SSLCertificateKeyFile /etc/apache2/ssl/mysite.com.key SSLCertificateChainFile /etc/apache2/ssl/ca.cer DocumentRoot /var/www/errorPages ErrorDocument 503 /503.html ProxyPass /503.html ! ProxyPass / http://localhost:3999/ ProxyPassReverse / http://localhost:3999/ RewriteEngine on RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC] RewriteCond %{HTTP:CONNECTION} ^Upgrade$ [NC] RewriteRule .* ws://localhost:3999%{REQUEST_URI} [P] 主要是紅色區塊那部分 前面那兩行 ProxyPass & ProxyPassReverse 我本來就有加 主要是將 port 3000 導到 port 80 加上紅色區塊後(需要依照自己主機設定修改) 連線就正常了 如下圖